gohorsejobs/ROADMAP.md
Tiago Yamamoto b23393bf35 feat: implement stripe subscriptions, google analytics, and user crud
- 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
2025-12-27 12:06:54 -03:00

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:

  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