# 📋 GoHorse Jobs - Tarefas Lista detalhada de tarefas para evitar retrabalho. > **Última Atualização:** 2024-12-24 --- ## 🔥 Sprint Atual (Dezembro 2024) ### Backend - [ ] Corrigir migration 019 (job_payments FK) - [ ] Atualizar Swagger docs - [ ] Adicionar testes para novos endpoints - [ ] Implementar rate limiting ### Frontend - [ ] Página de perfil editável - [ ] Upload de currículo - [ ] Filtros avançados na listagem de vagas - [ ] Página de favoritos ### Documentação - [x] DATABASE.md - Schema completo - [x] ROADMAP.md - Este arquivo - [x] TASKS.md - Tarefas - [ ] ARCHITECTURE.md - Arquitetura detalhada - [ ] API.md - Endpoints detalhados --- ## ✅ Recentemente Concluído ### 2024-12-24 - [x] **Schema Unification** - Eliminado tabelas core_* redundantes - Removido `core_companies`, `core_users`, `core_user_roles` - Unificado em `companies`, `users`, `user_roles` - Atualizado 11 arquivos (migrations, repositories, seeders) - [x] **start.sh Updates** - Opção 4: Run migrations (Node.js) - Opção 6: Reset + Migrate + Seed completo - [x] **Migration Runner** - Criado `seeder-api/src/migrate.js` - Suporte a erros de tabelas existentes - [x] **Documentação** - DATABASE.md reescrito completo - ROADMAP.md criado - TASKS.md criado ### 2024-12-23 - [x] JWT Auth Guard no backoffice (Bearer + Cookie) - [x] PASSWORD_PEPPER integration - [x] Frontend auth improvements - [x] seeder-api README atualizado --- ## 🚧 Não Fazer (Evitar Retrabalho) > ⚠️ **IMPORTANTE:** Estas tarefas NÃO devem ser feitas pois já foram resolvidas ou descartadas. | Tarefa | Motivo | |--------|--------| | Criar core_companies | REMOVIDO - Usar `companies` | | Criar core_users | REMOVIDO - Usar `users` | | Usar UUID para users/jobs | MANTIDO SERIAL - Decisão arquitetural | | psql para migrations | REMOVIDO - Usar `npm run migrate` | --- ## 📝 Notas de Implementação ### IDs do Banco - **SERIAL (INT):** users, companies, jobs, applications, regions, cities - **UUID v4:** notifications, tickets, job_payments - **NÃO usar UUID v7** - Não suportado pelo gen_random_uuid() ### Autenticação - Backend: JWT em HttpOnly cookie OU Authorization header - Frontend: Usa cookies automaticamente - Backoffice: Suporta ambos (Bearer e Cookie) ### Senhas - BCrypt com 10 rounds - PASSWORD_PEPPER obrigatório em produção - Hash: `bcrypt.hash(password + PEPPER, 10)` --- ## 🔗 Referências - [DATABASE.md](DATABASE.md) - Schema do banco - [ROADMAP.md](ROADMAP.md) - Roadmap geral - [seeder-api/README.md](../seeder-api/README.md) - Como popular dados