Appearance
Contrasync API - Documentação de Arquitetura
Arquitetura Clean Code para API NestJS
Stack Tecnológico
| Componente | Tecnologia | Versão | Finalidade |
|---|---|---|---|
| Framework | NestJS | 10.x | Framework backend enterprise-ready |
| Linguagem | TypeScript | 5.x | Type-safety e melhor DX |
| ORM | Prisma | 5.x | Type-safe queries e migrations |
| Database | PostgreSQL | 15+ | Banco relacional robusto |
| Auth | Passport.js | 0.7.x | Estratégias de autenticação |
| JWT | @nestjs/jwt | 10.x | Tokens de sessão |
| Validação | class-validator | 0.14.x | Validação de DTOs |
| Docs | Swagger/OpenAPI | 3.0 | Documentação automática |
Índice de Documentação
| Documento | Descrição |
|---|---|
| Code Style | Padrões obrigatórios de código - nomenclatura, imports, princípios invioláveis |
| Directory Structure | Organização de arquivos e pastas |
| Layers | Arquitetura em camadas (Clean Architecture) |
| Responses | Padrões de response da API |
| Authentication | Fluxo OAuth, JWT, guards e decorators |
| Multi-tenancy | Isolamento de dados por empresa |
| API Versioning | Versionamento e padrões REST |
| Commands | Comandos úteis para desenvolvimento |
| Resilience & Observability | Resiliência, filas, cache, logs, métricas e tracing |
Leitura Obrigatória
Antes de iniciar qualquer implementação:
- Code Style - Regras invioláveis de código
- Layers - Entender a arquitetura em camadas
- Authentication - Header x-company-id e guards
- Resilience & Observability - Padrões de resiliência e observabilidade
Documento atualizado em Março 2026