- 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
311 lines
7.9 KiB
Markdown
311 lines
7.9 KiB
Markdown
# 🗺️ 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*
|