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 |
||
|---|---|---|
| .. | ||
| src | ||
| test | ||
| .env.example | ||
| .gitignore | ||
| .prettierrc | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| nest-cli.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.build.json | ||
| tsconfig.json | ||
Backoffice API - NestJS
GoHorse Jobs SaaS Administration and Subscription Management API.
Features
- 💳 Stripe Integration - Payment processing and subscriptions
- 📊 Dashboard Stats - Platform analytics
- 👥 User Management - Admin controls for users
- 🏢 Company Management - Tenant administration
- 📋 Subscription Plans - Monthly/yearly plans
Tech Stack
- NestJS 10+
- TypeScript
- Stripe SDK
- Swagger (OpenAPI)
Getting Started
npm install
npm run start:dev
Environment Variables
PORT=3001
STRIPE_SECRET_KEY=sk_test_xxx
STRIPE_WEBHOOK_SECRET=whsec_xxx
API Documentation
Visit: http://localhost:3001/api/docs
Docker
docker build -t gohorse-backoffice .
docker run -p 3001:3001 gohorse-backoffice