gohorsejobs/backoffice
Tiago Yamamoto 017a34c965 docs: comprehensive documentation update
- DATABASE.md: Complete schema with ER diagram, all tables, migrations history
- ROADMAP.md: Project status, completed/in-progress/backlog items
- TASKS.md: Detailed task list to avoid rework
- README.md: Added documentation links table
- backoffice/README.md: Added auth section (JWT Bearer + Cookie)

Schema notes:
- Core tables use SERIAL (INT): users, companies, jobs
- Newer tables use UUID v4: notifications, tickets, payments
- Schema is unified (removed core_* redundant tables)
2025-12-24 11:12:52 -03:00
..
src feat(auth): add cookie parsing and JWT auth guard to backoffice 2025-12-24 10:27:04 -03:00
test test(backoffice): 🧪 added e2e test setup 2025-12-15 09:44:25 -03:00
.dockerignore feat(backoffice): migrate to Fastify adapter with pnpm, Pino logging, and ultra-optimized Dockerfile 2025-12-23 23:44:02 -03:00
.env.example feat(auth): add cookie parsing and JWT auth guard to backoffice 2025-12-24 10:27:04 -03:00
.gitignore feat(backoffice): 🏗️ initialized NestJS backoffice API 2025-12-15 09:44:16 -03:00
.prettierrc feat(backoffice): 🏗️ initialized NestJS backoffice API 2025-12-15 09:44:16 -03:00
Dockerfile fix(backoffice): simplify Dockerfile for proper source code copying 2025-12-24 00:28:39 -03:00
eslint.config.mjs feat(backoffice): 🏗️ initialized NestJS backoffice API 2025-12-15 09:44:16 -03:00
nest-cli.json feat(backoffice): 🏗️ initialized NestJS backoffice API 2025-12-15 09:44:16 -03:00
package.json fix(backoffice): add @fastify/static for Swagger support 2025-12-24 00:33:30 -03:00
pnpm-lock.yaml fix(backoffice): add @fastify/static for Swagger support 2025-12-24 00:33:30 -03:00
README.md docs: comprehensive documentation update 2025-12-24 11:12:52 -03:00
tsconfig.build.json feat(backoffice): 🏗️ initialized NestJS backoffice API 2025-12-15 09:44:16 -03:00
tsconfig.json feat(backoffice): migrate to Fastify adapter with pnpm, Pino logging, and ultra-optimized Dockerfile 2025-12-23 23:44:02 -03:00

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
  • 🔐 JWT Authentication - Bearer token and Cookie support

Authentication

The backoffice supports two authentication methods:

  1. Bearer Token - Authorization: Bearer <token>
  2. JWT Cookie - jwt=<token> (fallback)

This is implemented in src/auth/jwt-auth.guard.ts.

Tech Stack

  • NestJS 10+
  • TypeScript
  • Stripe SDK
  • Swagger (OpenAPI)
  • JWT (jsonwebtoken)

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