# 🐴 GoHorse Jobs [](https://golang.org/) [](https://nextjs.org/) [](https://nestjs.com/) [](https://postgresql.org/) [](https://docker.com/) > 🇧🇷 Plataforma SaaS de recrutamento conectando empresas e profissionais de tecnologia. --- ## 💼 O Negócio ### Proposta de Valor **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 | --- ## 🔄 Fluxos de Negócio ### 1. Empresa Publica Vaga ```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] ``` ### 2. Candidato Busca Emprego ```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] ``` --- ## 🚀 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 ### Pré-requisitos - Docker v24+ ou Go 1.24+ - Node.js v20+ - PostgreSQL v16+ ### Instalação ```bash # Clone git clone https://github.com/rede5/gohorsejobs.git cd gohorsejobs # Configure cp backend/.env.example backend/.env cp frontend/.env.example frontend/.env # Backend cd backend && go run ./cmd/api # Frontend (outro terminal) cd frontend && npm install && npm run dev # Seeder (opcional) cd seeder-api && npm install && npm run seed ``` ### Usando start.sh ```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 | Tipo | Login | Senha | Acesso | |------|-------|-------|--------| | **SuperAdmin** | `superadmin` | `Admin@2025!` | Full | | **Company Admin** | `takeshi_yamamoto` | `Takeshi@2025` | Empresa | | **Recruiter** | `maria_santos` | `User@2025` | Vagas | | **Candidate** | `paulo_santos` | `User@2025` | Candidato | --- ## 🔧 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 ``` 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 ``` --- ## 📊 Status do Projeto | Á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