Back to Projects
Courteon
Courteon is an all-in-one operating system for padel venues — unifying court booking, POS, F&B QR ordering, inventory, assets, finance, CRM, and white-label club pages in a secure multi-tenant monorepo.

Overview
Courteon is a multi-tenant SaaS for commercial padel & racket clubs, built as a pnpm monorepo: Next.js 16 + React 19 frontend and NestJS 12 API backed by PostgreSQL 15 + Prisma 7 + Redis 7.
Architecture & Security
Server-side tenant isolation (JwtAuthGuard → TenantGuard → PermissionGuard), 15 permissions × 7 roles with custom roles, Argon2id + short JWT (15m) + rotating HttpOnly refresh (30d), email verification gate, throttling, and SSE + Redis Pub/Sub realtime.
- Court & Booking: groups, 24h peak/off-peak matrix, anti-double-booking, booking-in-POS.
- POS & Shifts: unified checkout, promo engine, open/close shift with Z-report.
- F&B & Kitchen: menu + BOM/HPP, drag-drop table map + per-table QR, QR self-ordering → KDS kanban realtime.
- Inventory & Assets: stock movements, opname, monthly close, PO/suppliers, asset rental + QR scan.
- Growth: CRM 360° + segmentation + email campaigns, membership tiers, academy, finance reports + CSV/Excel export, white-label club pages.
Technologies
Next.jsNestJSPostgreSQLPrismaRedisTailwindCSS
Links
Screenshots










