diff --git a/README.md b/README.md index cc863c8..ca25e61 100644 --- a/README.md +++ b/README.md @@ -1,356 +1,104 @@ -# 🐴 GoHorse Jobss +# 🐴 GoHorse Jobs -[](https://golang.org/) -[](https://nextjs.org/) -[](https://nestjs.com/) -[](https://postgresql.org/) -[](https://docker.com/) +Plataforma de recrutamento com arquitetura separada por serviços: -> 🇧🇷 Plataforma SaaS de recrutamento conectando empresas e profissionais de tecnologia. +- **Frontend**: Next.js (portal de vagas e dashboards). +- **Backend**: API em Go (regras de negócio, autenticação, dados). +- **Backoffice**: NestJS (administração, operações e integrações). +- **Seeder API**: utilitários para carga de dados de desenvolvimento. --- -## 💼 O Negócio +## ✅ Estado atual da documentação -### Proposta de Valor +Este repositório tinha documentação duplicada e com partes desatualizadas. A partir desta revisão: -**GoHorse Jobs** é uma plataforma completa de recrutamento que conecta empresas a candidatos qualificados, oferecendo: - -| Para Empresas | Para Candidatos | -|---------------|-----------------| -| ✅ Publicar vagas ilimitadas | ✅ Buscar vagas com filtros avançados | -| ✅ Gerenciar candidaturas | ✅ Candidatar-se em 1 clique | -| ✅ Chat em tempo real | ✅ Perfil profissional completo | -| ✅ Painel de analytics | ✅ Notificações push | -| ✅ Múltiplos recrutadores | ✅ Favoritar vagas | - -### Modelos de Monetização - -| Plano | Features | Preço | -|-------|----------|-------| -| **Basic** | 3 vagas/mês, 1 usuário | Grátis | -| **Pro** | 20 vagas/mês, 5 usuários | R$ 199/mês | -| **Enterprise** | Ilimitado, SSO, API | Sob consulta | +- a **fonte canônica** de documentação geral passa a ser a pasta [`docs/`](docs/); +- arquivos antigos na raiz (ex.: `ROADMAP.md`, `STATUS_REPORT.md`) foram reduzidos para ponteiros; +- o roadmap foi simplificado para refletir prioridades reais do produto (sem backlog histórico de iniciativas fora de escopo atual). --- -## 🔄 Fluxos de Negócio +## 📚 Onde encontrar cada assunto -### 1. Empresa Publica Vaga +### Documentação central (canônica) -```mermaid -flowchart LR - A[Empresa] --> B[Registro/Login] - B --> C[Criar Vaga] - C --> D[Pagamento] - D --> E[Vaga Publicada] - E --> F[Candidatos Aplicam] - F --> G[Triagem] - G --> H[Contratação] -``` +- [docs/API.md](docs/API.md) — endpoints, contratos e exemplos. +- [docs/API_SECURITY.md](docs/API_SECURITY.md) — autenticação, autorização e segurança. +- [docs/DATABASE.md](docs/DATABASE.md) — estrutura e decisões de dados. +- [docs/DEVOPS.md](docs/DEVOPS.md) — execução local, deploy e operação. +- [docs/ROADMAP.md](docs/ROADMAP.md) — direção de produto e engenharia. +- [docs/TASKS.md](docs/TASKS.md) — tarefas e acompanhamento de execução. -### 2. Candidato Busca Emprego +### Documentação por componente -```mermaid -flowchart LR - A[Candidato] --> B[Buscar Vagas] - B --> C[Filtrar] - C --> D[Ver Detalhes] - D --> E[Candidatar] - E --> F[Aguardar Resposta] - F --> G[Chat com Recrutador] - G --> H[Contratação] -``` - -### 3. Registro Rápido + Vaga (Novo!) - -```mermaid -flowchart LR - A[/post-job/] --> B[Dados da Empresa] - B --> C[Dados da Vaga] - C --> D[Confirmação] - D --> E[Empresa + Vaga Criados] -``` +- [backend/BACKEND.md](backend/BACKEND.md) +- [frontend/FRONTEND.md](frontend/FRONTEND.md) +- [backoffice/BACKOFFICE.md](backoffice/BACKOFFICE.md) +- [seeder-api/SEEDER-API.md](seeder-api/SEEDER-API.md) --- -## 🚀 Roadmap B2C (Marketplace Transformation) - -Estamos transformando o GoHorse Jobs de um Job Board tradicional para um **Marketplace Completo** de Serviços e Produtos. - -| Fase | Foco | Features Principais | Status | -|------|------|---------------------|--------| -| **1** | **Monetização** | Stripe Checkout, Boost de Vagas, Assinaturas | 🟡 Em Progresso | -| **2** | **Serviços (Gigs)** | Marketplace de Freelancers, Stripe Connect, Escrow | 🔴 Q1 2025 | -| **3** | **Loja (Store)** | Venda de Equipamentos, Merch, Logística | 🔴 Q2 2025 | -| **4** | **AI & Matching** | Video Interviews, Triagem Automática, Cover Letter AI | 🔴 Q3 2025 | - -> Ver o [Roadmap Detalhado](docs/ROADMAP.md) para o Gap Analysis completo. - ---- - -## 📚 Documentação - -### Documentação Principal - -| Documento | Descrição | -|-----------|-----------| -| 📖 [docs/API.md](docs/API.md) | Referência completa da API | -| 🔐 [docs/API_SECURITY.md](docs/API_SECURITY.md) | Autenticação e RBAC | -| 🗄️ [docs/DATABASE.md](docs/DATABASE.md) | Schema do banco de dados | -| 🚀 [docs/DEVOPS.md](docs/DEVOPS.md) | CI/CD, Docker, Kubernetes | -| 🗺️ [docs/ROADMAP.md](docs/ROADMAP.md) | Status e progresso | -| 📋 [docs/TASKS.md](docs/TASKS.md) | Tarefas detalhadas | - -### Documentação por Componente - -| Componente | Documentação | Tech Stack | -|------------|--------------|------------| -| **Backend** | [backend/BACKEND.md](backend/BACKEND.md) | Go, Clean Architecture, DDD | -| **Frontend** | [frontend/FRONTEND.md](frontend/FRONTEND.md) | Next.js 15, Tailwind, shadcn | -| **Backoffice** | [backoffice/BACKOFFICE.md](backoffice/BACKOFFICE.md) | NestJS, Fastify, Stripe | -| **Seeder** | [seeder-api/README.md](seeder-api/README.md) | Node.js, PostgreSQL | - ---- - -## 🏗️ Arquitetura - -```mermaid -graph TB - subgraph "Frontend (Appwrite)" - FE[Next.js 15] - end - - subgraph "Backend (Kubernetes)" - API[Go API] - BO[NestJS Backoffice] - end - - subgraph "Database" - DB[(PostgreSQL 16)] - end - - subgraph "External Services" - MQ[LavinMQ] - S3[Cloudflare R2] - FCM[Firebase FCM] - AW[Appwrite Realtime] - ST[Stripe] - end - - FE --> API - FE --> AW - API --> DB - API --> MQ - API --> S3 - BO --> DB - BO --> MQ - BO --> FCM - BO --> ST -``` - -### Componentes - -| Componente | Responsabilidade | Porta | -|------------|------------------|-------| -| **Frontend** | UI, SSR, Auth | 3000 | -| **Backend** | API REST, Business Logic | 8521 | -| **Backoffice** | Stripe, Email, FCM | 3001 | -| **PostgreSQL** | Persistência | 5432 | -| **LavinMQ** | Email Queue | 5672 | - ---- - -## 🛠️ Tech Stack - -### Backend (Go) -| Tecnologia | Uso | -|------------|-----| -| Go 1.24 | API REST | -| GORM | ORM | -| JWT v5 | Autenticação | -| Swagger | Documentação | -| BCrypt | Password hashing | - -### Frontend (Next.js) -| Tecnologia | Uso | -|------------|-----| -| Next.js 15 | Framework | -| Tailwind 4 | CSS | -| shadcn/ui | Componentes | -| Framer Motion | Animações | -| Appwrite | Realtime | - -### Backoffice (NestJS) -| Tecnologia | Uso | -|------------|-----| -| NestJS 11 | Framework | -| Stripe | Pagamentos | -| Nodemailer | Emails | -| Firebase Admin | Push | - ---- - -## 🚀 Quick Start +## 🚀 Quick start ### Pré-requisitos -- Docker v24+ ou Go 1.24+ -- Node.js v20+ -- PostgreSQL v16+ +- Go 1.24+ +- Node.js 20+ +- PostgreSQL 16+ -### Instalação +### Subindo localmente ```bash -# Clone +# 1) clone git clone https://github.com/rede5/gohorsejobs.git cd gohorsejobs -# Configure +# 2) variáveis de ambiente (ajuste os valores) cp backend/.env.example backend/.env cp frontend/.env.example frontend/.env -# Backend -cd backend && go run ./cmd/api +# 3) backend +cd backend +go run ./cmd/api -# Frontend (outro terminal) -cd frontend && npm install && npm run dev +# 4) frontend (novo terminal) +cd ../frontend +npm install +npm run dev -# Seeder (opcional) -cd seeder-api && npm install && npm run seed +# 5) seeder (opcional) +cd ../seeder-api +npm install +npm run seed ``` -### Usando start.sh +### Script auxiliar ```bash ./start.sh -# Escolha uma opção: -# 1. Run Backend -# 2. Run Frontend -# 3. Run Seeder -# 4. Run Migrations -# 5. Reset + Seed ``` --- -## 🔑 Credenciais de Teste +## 🧱 Estrutura resumida -> [!NOTE] -> O SuperAdmin foi atualizado via migration `032_update_superadmin_lol.sql`. -> No primeiro login será necessário trocar a senha (status `force_change_password`). - -| Tipo | Login | Email | Senha | -|------|-------|-------|-------| -| **SuperAdmin** | `lol` | `lol@gohorsejobs.com` | `Admin@2025!` | -| **Company Admin** | `takeshi_yamamoto` | - | `Takeshi@2025` | -| **Recruiter** | `maria_santos` | - | `User@2025` | -| **Candidate** | `paulo_santos` | - | `User@2025` | - -> [!WARNING] -> Se o login retornar 401, verifique se a migration `032_update_superadmin_lol.sql` foi executada no banco. - ---- - -## 🔧 Environment Variables - -### Backend - -```env -DATABASE_URL=postgres://user:pass@host:5432/db -JWT_SECRET=your-secret-key-min-32-chars -PASSWORD_PEPPER=your-pepper -CORS_ORIGINS=https://frontend.com -``` - -### Frontend - -```env -NEXT_PUBLIC_API_URL=https://api.gohorsejobs.com -NEXT_PUBLIC_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1 -NEXT_PUBLIC_APPWRITE_PROJECT_ID=your-project -``` - -### Backoffice - -```env -DATABASE_URL=postgres://user:pass@host:5432/db -STRIPE_SECRET_KEY=sk_test_xxx -AMQP_URL=amqp://user:pass@host:5672 -``` - ---- - -## 📂 Estrutura - -``` +```text gohorsejobs/ -├── backend/ # Go API (Clean Architecture) -│ ├── cmd/api/ # Entrypoint -│ ├── internal/ # Business logic -│ ├── migrations/ # 30 SQL migrations -│ └── BACKEND.md # Documentação -│ -├── frontend/ # Next.js 15 App -│ ├── src/app/ # 35 pages -│ ├── src/components/ # 44 components -│ └── FRONTEND.md # Documentação -│ -├── backoffice/ # NestJS API -│ ├── src/ # 7 modules -│ └── BACKOFFICE.md # Documentação -│ -├── seeder-api/ # Node.js Seeder -│ └── README.md # Documentação -│ -├── docs/ # Documentação central -│ ├── API.md -│ ├── API_SECURITY.md -│ ├── DATABASE.md -│ ├── DEVOPS.md -│ ├── ROADMAP.md -│ └── TASKS.md -│ -├── k8s/ # Kubernetes manifests -│ ├── dev/ -│ ├── hml/ -│ └── prd/ -│ -└── start.sh # Script de inicialização +├── backend/ +├── frontend/ +├── backoffice/ +├── seeder-api/ +├── docs/ +├── k8s/ +└── start.sh ``` --- -## 📊 Status do Projeto +## 🤝 Contribuição -| Área | Progresso | Status | -|------|-----------|--------| -| Backend API | 95% | 🟢 Production Ready | -| Frontend | 85% | 🟢 Funcional | -| Backoffice | 80% | 🟢 Funcional | -| Seeder | 100% | 🟢 Completo | -| Documentação | 95% | 🟢 Atualizada | - -Ver [docs/ROADMAP.md](docs/ROADMAP.md) para detalhes. - ---- - -## 🤝 Contribuindo - -1. Fork o projeto -2. Crie sua branch (`git checkout -b feature/AmazingFeature`) -3. Commit suas mudanças (`git commit -m 'feat: add amazing feature'`) -4. Push para a branch (`git push origin feature/AmazingFeature`) -5. Abra um Pull Request - ---- - -## 📄 Licença - -Este projeto está sob a licença MIT. Veja [LICENSE](LICENSE) para detalhes. - ---- - -
- Desenvolvido com ❤️ pela equipe GoHorse -
+1. Crie uma branch de feature/fix. +2. Faça commits pequenos e objetivos. +3. Atualize documentação relevante em `docs/` quando necessário. +4. Abra PR com contexto, impacto e evidências de teste. diff --git a/ROADMAP.md b/ROADMAP.md index dbe6f91..d76ac16 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,311 +1,7 @@ -# 🗺️ GoHorse Jobs - Roadmap Completo +# Roadmap (movido) -> **Data**: 27/12/2024 -> **Status**: Pré-lançamento -> **Objetivo**: Documentar funcionalidades existentes, gaps e próximos passos +Este arquivo foi mantido apenas por compatibilidade de links antigos. ---- +A versão oficial e atualizada do roadmap está em: -## 📊 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* +- [`docs/ROADMAP.md`](docs/ROADMAP.md) diff --git a/STATUS_REPORT.md b/STATUS_REPORT.md index 342a372..5338a45 100644 --- a/STATUS_REPORT.md +++ b/STATUS_REPORT.md @@ -1,110 +1,8 @@ -# 📊 Relatório Técnico & Status (GoHorseJobs) +# Status Report (movido) -## 1. Visão Geral da Arquitetura (Real vs. Planejado) +Este arquivo foi reduzido para evitar divergência de informação. -Este diagrama reflete o estado atual do sistema em ambiente de desenvolvimento (`localhost`), destacando os pontos funcionais e as integrações pendentes. +Para status e planejamento atuais, consulte: -* 🟢 **Verde:** Funcionando/Operacional. -* 🟡 **Amarelo:** Parcial/Bugado. -* 🔴 **Vermelho:** Quebrado/Faltando Config. -* 💀 **Vermelho Escuro:** Falha Crítica de Segurança. - -```mermaid -graph TD - %% --- ESTILOS DE ALTO CONTRASTE --- - %% Adicionei 'color:#000' (Preto) e aumentei a borda para 3px - classDef working fill:#dcfce7,stroke:#16a34a,stroke-width:3px,color:#000; - classDef partial fill:#fef9c3,stroke:#ca8a04,stroke-width:3px,stroke-dasharray:5 5,color:#000; - classDef broken fill:#fee2e2,stroke:#dc2626,stroke-width:3px,stroke-dasharray:5 5,color:#000; - classDef critical fill:#991b1b,stroke:#fca5a5,stroke-width:4px,color:#fff; - classDef success fill:#dcfce7,stroke:#16a34a,stroke-width:3px,color:#000; - classDef warning fill:#fef9c3,stroke:#ca8a04,stroke-width:3px,color:#000; - classDef error fill:#fee2e2,stroke:#dc2626,stroke-width:3px,color:#000; - - subgraph Frontend["Frontend & App"] - FE[Next.js 15]:::working - end - - subgraph Backend["Core Backend"] - API[Go API]:::working - DB[(PostgreSQL)]:::working - BO[NestJS Backoffice]:::broken - end - - subgraph Integracoes["Integrações (O Gargalo)"] - MQ[LavinMQ]:::broken - S3["Cloudflare R2/S3