Rent-X é uma aplicação para uma locadora de carros, com documentação Swagger
, arquitetura S.O.L.I.D
e com o deploy automatizado (CI/CD) na AWS
- Sentry - Monitoramento da instância AWS
- Github Actions - Deploy automatizado
- AWS - Serviço utilizado para o deploy, envio de e-mail e armazenamento de imagens em produção
- Docker - Containers isolados
- Babel - Transcompilador
- Handlebars - Responsável pela view do e-mail
- JWT Auth - Autenticação
- Multer - Processamento de arquivos
- Node Mailer - Envio de e-mail
- Rate Limiter - Rate Limiter que impede ataques DDOS
- Swagger - Documentação interativa com a API
- Jest - Testes automatizados
- Typeorm - ORM para que futuras mudanças de banco não afete o código
Está api contém uma documentação interativa com Swagger. Se quiser testar métodos admin, deverá testar em sua máquina.
Aqui vai um exemplo de como está a documentação
#Clone o repositório e entre nele
git clone https://github.com/CauaMatheus/Rent-X.git
cd Rent-X
#Instale as dependências
yarn
Após isso, você deve renomear o arquivo .env.example
para .env
e configurar com as suas credenciais
Renomeie também o arquivo ormconfig.example.json
para ormconfig.json
e altere os valores para o desejado. Caso alterar, não esqueça de alterar as mesmas configurações no docker-compose.yml
#Rode o container
docker-compose up -d
#Rode as migrations e após isso, estará apto para testar a aplicação
yarn typeorm migration:run
yarn dev