Api em Nodejs com Typescript:
- Express;
- Typeorm;
- Docker;
- Postgres;
- Multer;
- Jest;
- SOLID;
- Designer Pattern;
- Yarn;
- Swagger;
Abaixo segue os resquistos da aplicação:
Requisitos Funcionais
- Deve ser possível cadastrar um novo carro.
Regras De Negocio
- Não deve ser possível cadastrar um carro com uma placa já existente.
- O carro deve ser cadastrado, por padrão, com disponibilidade.
- O usuário responsável pelo cadastro deve ser um usuário administrador.
Requisitos Funcionais
- 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
Regras De Negocio
- O usuário não precisar estar logado no sistema.
Requisitos Funcionais
- Deve ser possível cadastrar uma especificação para um carro
Regras De Negocio
- 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.
Requisitos Funcionais
- Deve ser possível cadastrar a imagem do carro
Requisitos Não Funcionais
- Utilizar o multer para upload dos arquivos
Regras De Negocio
- O usuário deve poder cadastrar mais de uma imagem para o - mesmo carro
- O usuário responsável pelo cadastro deve ser um usuário - administrador.
Requisitos Funcionais
- Deve ser possível cadastrar um aluguel
Regras De Negocio
- O aluguel deve ter duração mínima de 24 horas.
- Não deve ser possível cadastrar um novo aluguel caso já - exista um aberto para o mesmo usuário
- Não deve ser possível cadastrar um novo aluguel caso já - exista um aberto para o mesmo carro
- O usuário deve estar logado na aplicação
- Ao realizar um aluguel, o status do carro deverá ser - alterado para indisponível
Requisitos Funcionais
- Deve ser possível realizar a devolução de um carro
Regras De Negocio
- Se o carro for devolvido com menos de 24 horas, deverá - ser cobrado diária completa.
- Ao realizar a devolução, o carro deverá ser liberado para - outro aluguel.
- Ao realizar a devolução, o usuário deverá ser liberado - para outro aluguel.
- Ao realizar a devolução, deverá ser calculado o total do - aluguel.
- Caso o horário de devolução seja superior ao horário - previsto de entrega, deverá ser cobrado multa - proporcional aos dias de atraso.
- Caso haja multa, deverá ser somado ao total do aluguel.
- O usuário deve estar logado na aplicação
Requisitos Funcionais
- Deve ser possível realizar a busca de todos os alugueis para o usuário
Regras De Negocio
- O usuário deve estar logado na aplicação
Requisitos Funcionais
- Deve ser possível o usuário recuperar a senha informando o e-mail
- O usuário deve receber um e-mail com o passo a passo para a recuperação da senha
- O usuário deve conseguir inserir uma nova senha
Regras De Negocio
- O usuário precisa informar uma nova senha
- O link enviado para a recuperação deve expirar em 3 horas