No description
Find a file
2026-01-23 14:37:18 -03:00
.agent/workflows resolve bug cloudflare 2026-01-08 18:22:25 -03:00
.forgejo/workflows ci: configura deploy automatico para k3s via forgejo 2026-01-23 14:37:18 -03:00
ass-email feat: add HTML email signature templates with dynamic fields 2025-12-11 15:13:52 -03:00
backend feat: (TASK: Mudança na forma de operar os usuarios) 2026-01-17 17:07:35 -03:00
backoffice feat(backoffice): Implementa gestão de credenciais e novas abas administrativas 2026-01-09 17:18:51 -03:00
docs feat: atualiza fluxo de cadastro de candidatos com persistência completa de dados e máscara de telefone 2026-01-06 18:19:47 -03:00
frontend ajuste page principal 2026-01-22 23:16:14 -03:00
job-scraper-multisite chore(docker): setup google mirror for base images 2025-12-24 17:46:57 -03:00
k8s ci: configura deploy automatico para k3s via forgejo 2026-01-23 14:37:18 -03:00
seeder-api feat(frontend): improve login error handling and user avatar 2026-01-03 18:28:12 -03:00
.drone.yml Update .drone.yml 2026-01-15 21:13:12 -03:00
.gitignore chore: add Dockerfiles and gitignore files for all services 2025-12-14 09:28:09 -03:00
README.md deploy 2026-01-08 18:40:06 -03:00
start.sh chore: cleanup and unify start.sh 2026-01-02 08:53:47 -03:00

🐴 GoHorse Jobss

Go Next.js NestJS PostgreSQL Docker

🇧🇷 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

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

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!)

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 para o Gap Analysis completo.


📚 Documentação

Documentação Principal

Documento Descrição
📖 docs/API.md Referência completa da API
🔐 docs/API_SECURITY.md Autenticação e RBAC
🗄️ docs/DATABASE.md Schema do banco de dados
🚀 docs/DEVOPS.md CI/CD, Docker, Kubernetes
🗺️ docs/ROADMAP.md Status e progresso
📋 docs/TASKS.md Tarefas detalhadas

Documentação por Componente

Componente Documentação Tech Stack
Backend backend/BACKEND.md Go, Clean Architecture, DDD
Frontend frontend/FRONTEND.md Next.js 15, Tailwind, shadcn
Backoffice backoffice/BACKOFFICE.md NestJS, Fastify, Stripe
Seeder seeder-api/README.md Node.js, PostgreSQL

🏗️ Arquitetura

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

# 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

./start.sh
# Escolha uma opção:
# 1. Run Backend
# 2. Run Frontend
# 3. Run Seeder
# 4. Run Migrations
# 5. Reset + Seed

🔑 Credenciais de Teste

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

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

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

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 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 para detalhes.


Desenvolvido com ❤️ pela equipe GoHorse