# 🗺️ GoHorse Jobs - Roadmap Completo > **Data**: 27/12/2024 > **Status**: Pré-lançamento > **Objetivo**: Documentar funcionalidades existentes, gaps e próximos passos --- ## 📊 Status Atual do Projeto ### ✅ Funcionalidades Implementadas #### Backend (Go API) | Feature | Status | Endpoint | |---------|--------|----------| | Login/Autenticação | ✅ | `POST /api/v1/auth/login` | | CRUD de Empresas | ✅ | `/api/v1/companies` | | CRUD de Usuários | ✅ | `/api/v1/users` | | CRUD de Vagas | ✅ | `/api/v1/jobs` | | Candidaturas | ✅ | `/api/v1/applications` | | Storage S3 | ✅ | `/api/v1/storage/*` | | JWT com HttpOnly Cookies | ✅ | - | | Rate Limiting | ✅ | 100 req/min | | CORS configurado | ✅ | - | | Swagger/OpenAPI | ✅ | `/docs` | #### Frontend (Next.js 15) | Feature | Status | Path | |---------|--------|------| | Homepage | ✅ | `/` | | Login | ✅ | `/login` | | Cadastro | ✅ | `/cadastro` | | Listagem de Vagas | ✅ | `/vagas` | | Detalhe da Vaga | ✅ | `/vagas/[id]` | | Dashboard Admin | ✅ | `/dashboard` | | Gestão de Usuários | ✅ | `/dashboard/users` | | Gestão de Empresas | ✅ | `/dashboard/companies` | | Gestão de Vagas | ✅ | `/dashboard/jobs` | | Minhas Candidaturas | ✅ | `/dashboard/my-jobs` | | Mensagens | ✅ | `/dashboard/messages` | | Upload de Imagens | ✅ | Componente S3 | #### Seeders (Node.js) - ✅ Users (com roles diferentes) - ✅ Companies (com dados completos) - ✅ Jobs (vagas de exemplo) - ✅ Applications - ✅ Regions/Cities #### DevOps - ✅ Dockerfiles para todos os serviços - ✅ Pipeline CI/CD (Drone) - ✅ Manifests Kubernetes - ✅ Documentação básica --- ## 🚨 Gaps Críticos para Lançamento (P0) > [!CAUTION] > Itens que **DEVEM** estar funcionando antes de ir ao ar ### 1. **Fluxo de Candidatura Completo** ``` [x] Frontend: Botão "Candidatar-se" na página de vagas [x] Frontend: Modal/Form para anexar currículo [x] Backend: Upload de currículo (PDF) para S3 [ ] Backend: Notificação por email para empresa [x] Frontend: Tela "Minhas Candidaturas" funcional ``` ### 2. **Gestão de Currículo/Perfil do Candidato** ``` [x] Frontend: Página de edição de perfil completo [x] Backend: Endpoint PUT /api/v1/users/me [x] Backend: Armazenar skills, experiências, educação [x] Frontend: Upload de foto de perfil ``` ### 3. **Dashboard da Empresa Funcional** ``` [x] Listar candidatos por vaga [x] Alterar status da candidatura (aprovado/rejeitado/em análise) [x] Visualizar currículo do candidato [ ] Exportar lista de candidatos ``` ### 4. **Recuperação de Senha** ``` [x] Frontend: Tela "Esqueci minha senha" [x] Backend: Endpoint POST /api/v1/auth/forgot-password [x] Backend: Integração com serviço de email (Mock) [x] Backend: Endpoint POST /api/v1/auth/reset-password ``` ### 5. **Validação de Dados** ``` [x] Backend: Validação de email único [x] Backend: Validação de documento global (CNPJ/CPF/EIN) [x] Frontend: Feedback de erros amigável [x] Backend: Sanitização de inputs (XSS prevention) [x] Frontend: Utilitário sanitize.ts ``` --- ## ⚠️ Gaps Importantes (P1) > [!WARNING] > Itens importantes para experiência do usuário após lançamento ### 6. **Sistema de Notificações** ``` [x] Frontend: NotificationContext e NotificationDropdown [x] Frontend: Badge de notificações no header [x] Frontend: Lista de notificações (mock data) [x] Backend: Tabela de notificações (migration 017) [x] Backend: FCM (Firebase Cloud Messaging) integration [x] Backend: Envio de email transacional (Mock) [ ] Backend: Notificação por email para empresa (integração real) ``` ### 7. **Busca e Filtros Avançados** ``` [x] Backend: Full-text search em vagas (PostgreSQL plainto_tsquery) [x] Backend: Filtros por localização, salário, tipo (workMode, employmentType) [x] Backend: Ordenação por data/salary/relevance [x] Backend: Paginação otimizada (max 100 items) [x] Frontend: UI de filtros avançados ``` ### 8. **Painel Administrativo (Backoffice)** ``` [x] Módulos AdminModule, PlansModule, StripeModule [x] TicketsModule com proxy para backend [x] ActivityLogsModule com proxy para backend [x] Dockerfile otimizado (multi-stage, non-root) [x] Health endpoint [x] Autenticação via Guard [x] CRUD de usuários via backoffice (UI) [x] Relatórios de uso (mock stats) [x] Logs de atividade (integrado ao backend) [x] Gestão de tickets/suporte (backend + backoffice) ``` ### 9. **Métricas e Analytics** ``` [x] Contagem de visualizações por vaga [x] Taxa de conversão (visualização → candidatura) [x] Dashboard de métricas para empresas (API pronta) [x] Integração com Google Analytics ``` ### 10. **Integração Social** ``` [ ] Login com Google [ ] Login com LinkedIn [ ] Compartilhar vaga nas redes [ ] Importar perfil do LinkedIn ``` --- ## 📈 Melhorias Futuras (P2) > [!TIP] > Features que aumentam competitividade após MVP estável ### 11. **Matching Inteligente** ``` [ ] Algoritmo de match candidato-vaga [ ] Recomendação de vagas personalizadas [ ] Score de compatibilidade [ ] Alertas de vagas similares ``` ### 12. **Pagamentos e Monetização** ``` [ ] Planos para empresas (free/pro/enterprise) [x] Destaque de vagas (featured) [x] Pagamento via Stripe/Pix (Checkout Backend Implemented) [~] Gestão de assinaturas (Fundação Backend Pronta) ``` ### 13. **Testes e Avaliações** ``` [ ] Testes técnicos online [ ] Sistema de avaliação de candidatos [ ] Feedback pós-entrevista [ ] Notas compartilhadas entre recrutadores ``` ### 14. **Internacionalização** ``` [x] i18n frontend (pt-BR, en, es) [ ] Vagas internacionais [ ] Conversão de moeda [ ] Timezones para entrevistas ``` ### 15. **API Pública** ``` [ ] Documentação para parceiros [ ] Rate limiting por API key [ ] Webhooks para integração [ ] SDK para desenvolvedores ``` --- ## 🛠️ Débitos Técnicos > [!NOTE] > Itens de qualidade de código e infraestrutura ### Testes ``` [ ] Aumentar cobertura backend para 80% [ ] Testes E2E com Playwright/Cypress [ ] Testes de integração API [ ] Testes de carga com k6 ``` ### Performance ``` [ ] Cache Redis para sessões [ ] CDN para assets estáticos [ ] Otimização de queries (N+1) [ ] Lazy loading de imagens ``` ### Segurança ``` [ ] Audit de dependências [ ] Penetration testing [ ] Backup automatizado do DB [ ] Logs de segurança (SIEM) [ ] Centralizar gestão do Stripe (Backend vs Backoffice) [ ] Verificar assinatura de Webhooks Stripe ``` ### Observabilidade ``` [ ] Métricas com Prometheus [ ] Dashboards Grafana [ ] Distributed tracing [ ] Alertas (PagerDuty/OpsGenie) ``` --- ## 📅 Cronograma Sugerido ### Semana 1 (Lançamento + Estabilização) - [ ] Deploy para produção - [ ] Monitorar erros e hotfixes - [ ] Completar fluxo de candidatura básico - [ ] Ajustar feedback de usuários ### Semana 2-3 - [ ] Recuperação de senha - [ ] Dashboard empresa funcional - [ ] Sistema de notificações básico - [ ] Busca e filtros ### Semana 4-6 - [ ] Backoffice completo - [ ] Login social (Google) - [ ] Métricas básicas - [ ] Melhorias de UX ### Mês 2+ - [ ] Monetização - [ ] Matching inteligente - [ ] API pública - [ ] Expansão de features --- ## 🎯 Métricas de Sucesso para Lançamento | Métrica | Meta | |---------|------| | Uptime | > 99% | | Tempo de resposta API | < 200ms | | Erros 5xx | < 0.1% | | Vagas cadastradas | > 50 | | Candidaturas | > 100 | | Empresas ativas | > 10 | --- ## 💡 Notas Finais O projeto tem uma base sólida com: - Arquitetura limpa (Clean Architecture) - Stack moderna (Go + Next.js 15) - Multi-tenancy implementado - CI/CD configurado **Para o lançamento hoje**, foque em: 1. Garantir que login/cadastro funcionam 2. Vagas são listadas corretamente 3. Candidatura básica funciona 4. Comunicar limitações aos usuários beta **Próximo passo imediato**: Testar o fluxo completo candidato → vaga → candidatura manualmente antes de ir ao ar. --- *Documento gerado em 27/12/2024 - Atualizar conforme progresso*