... | ... | @@ -14,4 +14,67 @@ |
|
|
</tr>
|
|
|
</table>
|
|
|
|
|
|
Aqui ficam as informações de Back-End. |
|
|
\ No newline at end of file |
|
|
# Pão dos Pobres - Backend
|
|
|
|
|
|
Backend desenvolvido com **NestJS**, **Prisma ORM** e **PostgreSQL**, seguindo princípios de **Clean Architecture**.
|
|
|
O projeto utiliza **Docker** para padronizar ambiente e traz ferramentas modernas para documentação, testes e qualidade de código.
|
|
|
|
|
|
---
|
|
|
|
|
|
## Características
|
|
|
|
|
|
- Arquitetura Limpa: Separação entre domínio, aplicação e infraestrutura
|
|
|
- NestJS: Framework robusto para construção de APIs escaláveis
|
|
|
- Prisma ORM: ORM moderno e type-safe para acesso ao PostgreSQL
|
|
|
- Swagger + Scalar: Documentação automática e interativa da API
|
|
|
- Docker: Containerização do banco de dados e suporte ao deploy
|
|
|
- TypeScript: Tipagem estática para maior confiabilidade
|
|
|
- Jest: Suporte a testes unitários e e2e
|
|
|
- ESLint + Prettier: Padronização e formatação do código
|
|
|
- Class-validator: Validação de dados na entrada da API
|
|
|
|
|
|
---
|
|
|
|
|
|
## Tecnologias
|
|
|
|
|
|
- Backend: NestJS 11
|
|
|
- Database: PostgreSQL 16
|
|
|
- ORM: Prisma 5.16.2
|
|
|
- Documentação: Swagger + Scalar API Reference
|
|
|
- Testes: Jest
|
|
|
- Containerização: Docker & Docker Compose
|
|
|
- Linting: ESLint + Prettier
|
|
|
|
|
|
---
|
|
|
|
|
|
## Documentação da API
|
|
|
|
|
|
- Swagger UI: `http://localhost:3000/docs`
|
|
|
- Scalar API Reference: Interface moderna e interativa
|
|
|
|
|
|
---
|
|
|
|
|
|
## Arquitetura
|
|
|
|
|
|
### Camadas
|
|
|
|
|
|
- Domain: Regras de negócio puras (entidades, interfaces, regras)
|
|
|
- Application: Casos de uso e DTOs
|
|
|
- Infrastructure: Implementações técnicas (HTTP, banco, integrações)
|
|
|
|
|
|
### Benefícios
|
|
|
|
|
|
- Independência de frameworks
|
|
|
- Alta testabilidade
|
|
|
- Manutenibilidade clara
|
|
|
- Flexibilidade para trocar tecnologias
|
|
|
|
|
|
---
|
|
|
|
|
|
## Testes
|
|
|
|
|
|
```bash
|
|
|
yarn test
|
|
|
yarn test:watch
|
|
|
yarn test:cov
|
|
|
yarn test:e2e |
|
|
\ No newline at end of file |