Clone o repositório usando o comando abaixo:
git clone https://github.com/momanhaes/reserva-de-veiculos-backend
Caso queria consumir a API por uma URL pública, use https://reserva-de-veiculos.herokuapp.com.
Caso prefira rodar localmente na sua máquina, siga os procedimentos abaixo.
O projeto foi desenvolvido com as tecnologias: NodeJS, TypeScript, MongoDB e Docker. É necessário ter o NodeJS e, caso use Windows, o Docker Desktop instalado no seu computador para poder configurar API e o banco de dados.
Verifique se o Docker está instalado no seu computador usando o comando abaixo:
docker
Se o Docker estiver instalado no seu computador, baixe o container do Mongo usando o comando abaixo:
docker pull tutum/mongodb
Suba um container com a instalação do Mongo usando o comando abaixo:
docker run -d -p 27017:27017 -p 28017:28017 -e AUTH=no tutum/mongodb
O comando abaixo irá listar os containers que estão disponíveis para execução:
docker ps -a
Copie o CONTAINER ID do Mongo e execute o comando abaixo:
docker start { CONTAINER ID }
Na GUI do Mongo (Robo 3T) crie uma nova conexão com os parâmetros abaixo:
Vá em Connections > Create > Name: nodeapi > Address: localhost > Porta: 27017 > Save
Caso não tenha o Robo 3T instalado, é necessário fazer sua instalação para obter o resultado visual da persistência dos dados.
Digite os comandos abaixo e verifique se tudo foi conectado corretamente:
npm install
npm start
[POST] /users/login
- email: string;
- password: string;
[POST] /users
- name: string;
- email: string;
- password: string;
- passwordConfirmation: string;
[POST] /vehicles
- name: string;
- externalCode: string;
- description: string;
- status: string;
- category: string;
- dailyValue: number;
- imageUrl: string;
- year: string;
- conservation: string;
- fuel: string;
- rentedBy: string;
[PATCH] /vehicles:externalCode
- name: string;
- externalCode: string;
- description: string;
- status: string;
- category: string;
- dailyValue: number;
- imageUrl: string;
- year: string;
- conservation: string;
- fuel: string;
- rentedBy: string;
[DELETE] /vehicles:externalCode
[GET] /vehicles:externalCode
[GET] /vehicles?keyword=carro
[GET] /vehicles