Api restful para gerenciamento de planos e produtos.
O projeto foi construído com base na arquitetura hexagonal, procurando manter a separação entre o domínio e os detalhes de implementação:
src/
main.ts
app.module.ts
*module/
application/ # contem os dtos e use cases
domain/ # entidades e interfaces como de repositorios
infra/ # controllers e implementações das interfaces
test/ # testes unitarioPara evoluir o projeto, poderiamos implementar cache caso a api tiver um grande volume de buscas. Além disso, poderiamos utilizar serviço de mensageria para processamento assíncrono por exemplo: quando registrar um novo produto em determinado plano, notificar todos os usuários do plano por email e telefone.
Warning
O Render pode demorar até 50 segundos para iniciar, apenas a primeira requisição é lenta.
https://api-plans-ryny.onrender.com
Tanto a aplicação quanto o banco de dados estão na plataforma Render.
# requisitos: Docker
docker compose upou
# requisitos: Docker e Node.js lts/jod
npm install
docker compose up -d database
cp .env.local .env
npx prisma migrate dev
npm run start:devTip
O banco de dados deve estar online durante os testes e2e.
npm run test
npm run test:e2e
../infranão possui cobertura de testes unitarios e não é considerado no code coverage do SonarQube.
Os endpoints estão em collection, que pode ser importado em ferramentas como Postman ou hoppscotch.
- Nest.js
- TypeScript
- Prisma
- Jest
- Supertest
- Docker
- Husky
- SonarQube
- Render
- Github Actions