Backend fixes: - Fix FK violation in candidate registration by creating company first - Add CompanyRepository to RegisterCandidateUseCase - Add handler integration tests for validation Frontend improvements: - Add registerCompany function in auth.ts - Connect company registration form to backend API - Replace mockJobs with API call in job detail page - Add loading/error states to job detail page - Add Jest tests for auth module |
||
|---|---|---|
| .. | ||
| api | ||
| core | ||
| database | ||
| dto | ||
| handlers | ||
| infrastructure | ||
| middleware | ||
| models | ||
| router | ||
| services | ||
| utils | ||
| README.md | ||
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 novosmiddleware/- Auth com JWT Service
core/
Camada de domínio puro seguindo DDD.
domain/entity/- Entidades sem dependências externasports/- Interfaces de repositórios e serviçosusecases/- Casos de uso (Login, CreateUser, etc.)
middleware/
Middlewares de segurança aplicados globalmente.
auth.go- Validação JWT + RBACcors.go- Whitelist de origensrate_limit.go- 100 req/min por IPsecurity_headers.go- Headers OWASP
utils/
Utilitários compartilhados.
jwt.go- Geração e validação de tokenssanitizer.go- Sanitização de inputs (XSS prevention)