- Add comprehensive root README with badges, architecture diagram, and setup guide - Update backend README with security middlewares and endpoint documentation - Update frontend README with design system and page structure - Update seeder-api README with generated data and credentials - Add internal module READMEs (middleware, handlers, components) - Document Clean Architecture layers and request flow - Add environment variables reference table
86 lines
2.6 KiB
Markdown
86 lines
2.6 KiB
Markdown
# Internal - Backend Core
|
|
|
|
Este diretório contém toda a lógica interna do backend, seguindo princípios de **Clean Architecture**.
|
|
|
|
---
|
|
|
|
## 📁 Estrutura de Módulos
|
|
|
|
| Diretório | Camada | Responsabilidade |
|
|
|-----------|--------|------------------|
|
|
| `api/` | Interface | Handlers e middlewares (Clean Arch) |
|
|
| `core/` | Domain | Entidades, ports e use cases (DDD) |
|
|
| `database/` | Infrastructure | Conexão GORM com PostgreSQL |
|
|
| `dto/` | Interface | Data Transfer Objects (request/response) |
|
|
| `handlers/` | Interface | Controllers HTTP (legacy) |
|
|
| `infrastructure/` | Infrastructure | Implementações de ports |
|
|
| `middleware/` | Interface | Middlewares de segurança |
|
|
| `models/` | Infrastructure | Modelos GORM |
|
|
| `router/` | Interface | Configuração de rotas |
|
|
| `services/` | Application | Lógica de negócios (legacy) |
|
|
| `utils/` | Shared | Utilitários (JWT, Sanitizer) |
|
|
|
|
---
|
|
|
|
## 🏗️ Fluxo de Requisição
|
|
|
|
```
|
|
HTTP Request
|
|
│
|
|
▼
|
|
┌─────────────┐
|
|
│ Middleware │ (Auth, CORS, Rate Limit, Security Headers)
|
|
└─────────────┘
|
|
│
|
|
▼
|
|
┌─────────────┐
|
|
│ Router │ (router/router.go)
|
|
└─────────────┘
|
|
│
|
|
▼
|
|
┌─────────────┐
|
|
│ Handler │ (api/handlers/ ou handlers/)
|
|
└─────────────┘
|
|
│
|
|
▼
|
|
┌─────────────┐
|
|
│ UseCase │ (core/usecases/)
|
|
└─────────────┘
|
|
│
|
|
▼
|
|
┌─────────────┐
|
|
│ Repository │ (infrastructure/persistence/)
|
|
└─────────────┘
|
|
│
|
|
▼
|
|
┌─────────────┐
|
|
│ Database │ (PostgreSQL via GORM)
|
|
└─────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## 📦 Módulos Detalhados
|
|
|
|
### `api/`
|
|
Implementação Clean Architecture dos handlers e middlewares.
|
|
- `handlers/` - Controllers HTTP novos
|
|
- `middleware/` - Auth com JWT Service
|
|
|
|
### `core/`
|
|
Camada de domínio puro seguindo DDD.
|
|
- `domain/entity/` - Entidades sem dependências externas
|
|
- `ports/` - Interfaces de repositórios e serviços
|
|
- `usecases/` - Casos de uso (Login, CreateUser, etc.)
|
|
|
|
### `middleware/`
|
|
Middlewares de segurança aplicados globalmente.
|
|
- `auth.go` - Validação JWT + RBAC
|
|
- `cors.go` - Whitelist de origens
|
|
- `rate_limit.go` - 100 req/min por IP
|
|
- `security_headers.go` - Headers OWASP
|
|
|
|
### `utils/`
|
|
Utilitários compartilhados.
|
|
- `jwt.go` - Geração e validação de tokens
|
|
- `sanitizer.go` - Sanitização de inputs (XSS prevention)
|