- Backend: - Add Stripe subscription fields to companies (migration 019) - Implement Stripe Checkout and Webhook handlers - Add Metrics API (view count, recording) - Update Company and Job models - Frontend: - Add Google Analytics component - Implement User CRUD in Backoffice (Dashboard) - Add 'Featured' badge to JobCard - Docs: Update Roadmap and artifacts
7.9 KiB
7.9 KiB
🗺️ 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:
- Garantir que login/cadastro funcionam
- Vagas são listadas corretamente
- Candidatura básica funciona
- 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