gohorsejobs/ROADMAP.md
Tiago Yamamoto 9ee9f6855c feat: implementar múltiplas features
Backend:
- Password reset flow (forgot/reset endpoints, tokens table)
- Profile management (PUT /users/me, skills, experience, education)
- Tickets system (CRUD, messages, stats)
- Activity logs (list, stats)
- Document validator (CNPJ, CPF, EIN support)
- Input sanitizer (XSS prevention)
- Full-text search em vagas (plainto_tsquery)
- Filtros avançados (location, salary, workMode)
- Ordenação (date, salary, relevance)

Frontend:
- Forgot/Reset password pages
- Candidate profile edit page
- Sanitize utilities (sanitize.ts)

Backoffice:
- TicketsModule proxy
- ActivityLogsModule proxy
- Dockerfile otimizado (multi-stage, non-root, healthcheck)

Migrations:
- 013: Profile fields to users
- 014: Password reset tokens
- 015: Tickets table
- 016: Activity logs table
2025-12-27 11:19:47 -03:00

7.6 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)
[ ] Backend: Tabela de notificações
[ ] Backend: FCM (Firebase Cloud Messaging) integration
[x] Backend: Envio de email transacional (Mock)

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)
[ ] 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
[ ] Autenticação via Guard
[ ] 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

[ ] Contagem de visualizações por vaga
[ ] Taxa de conversão (visualização → candidatura)
[ ] Dashboard de métricas para empresas
[ ] 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)
[ ] Destaque de vagas (featured)
[ ] Pagamento via Stripe/Pix
[ ] Gestão de assinaturas

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

[ ] 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)

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