RF
- Deve ser possível cadastrar um novo carro.
RN
- Não deve ser possível cadastrar um carro com uma placa já existente.
- O carro deve ser cadastrado, por padrão, como disponível.
- O usuário responsável pelo cadastro deve ser um usuário administrador.
RF
- Deve ser possível listar todos os carros disponíveis.
- Deve ser possível listar todos os carros disponíveis pelo nome da categoria.
- Deve ser possível listar todos os carros disponíveis pelo nome da marca.
- Deve ser possível listar todos os carros disponíveis pelo nome do carro.
RN
- O usuário não precisa estar logado no sistema.
RF
- Deve ser possível cadastrar uma especificação para um carro.
RN
- Não deve ser possível cadastrar uma especificação para um carro não cadastrado.
- Não deve ser possível cadastrar uma especificação já existente para o mesmo carro.
- O usuário responsável pelo cadastro deve ser um usuário administrador.
RF
- Deve ser possível cadastrar a imagem do carro.
RNF
- Utilizar o multer para upload dos arquivos.
RN
- O usuário pode cadastrar mais de uma imagem para o mesmo carro.
- O usuário responsável pelo cadastro deve ser um usuário administrador.
- Node.js (https://nodejs.org/en/)
- TypeScript (https://www.typescriptlang.org/docs/)
- Express.js (http://expressjs.com/)
- TSyringe (https://www.npmjs.com/package/tsyringe)
- BCrypt (https://www.npmjs.com/package/bcrypt)
- JWT (https://jwt.io/)
- Docker (https://docs.docker.com/)
- TypeORM (https://typeorm.io/#/)
- PostgreSQL (https://www.postgresql.org/)
- Swagger (https://swagger.io/)
$ git clone https://github.com/joaopa12/Rentx
#install the dependencies
$ yarn
# Start all the services and the application with Docker Compose
$ docker-compose up -d
# Once the services are running, run the migrations
$ yarn migration:run
#start the server
$ yarn dev
- Check the swagger documentation locally in: http://localhost:3333/api-docs
This project is under MIT license.