Clases Suite
SaaS multi-tenant para centros y profesores independientes: agenda, créditos de clases, cobros online y contenido on-demand.
- Rol
- Desarrollo full-stack end-to-end
- Año
- 2025
- Estado
- En producción
- Cliente
- Producto propio
- Multi-tenant
- con branding propio
- 2×
- integraciones Mercado Pago
- Signals
- Angular 20 + SSR
- Hexagonal
- arquitectura backend
Resumen
Clases Suite permite a centros y profesores independientes — pilates, yoga, música, idiomas — gestionar su negocio completo: agenda, alumnos, planes de clases, cobros online y contenido on-demand. Cada centro es un tenant aislado con su propio branding, planes y credenciales de cobro.
Contexto
El problema
Los profesores y centros pequeños gestionan su negocio con WhatsApp, Excel y cuadernos: no saben cuántas clases le quedan a cada alumno, pierden reservas por errores de agenda, cobran a mano y no tienen visibilidad de ingresos. Las soluciones existentes son caras, están pensadas para gimnasios grandes o no soportan el modelo de paquetes de clases con créditos.
La solución
Una plataforma SaaS donde cada centro se registra, configura su marca y opera de forma autónoma, con onboarding self-service, landing pública propia y toda la operación resuelta dentro del producto.
Qué hace
Onboarding self-service
El centro se registra, elige un plan SaaS — trial de 7 días, mensual, anual o partner — y queda operativo sin intervención manual.
Landing pública por centro
Cada tenant tiene su URL /c/:slug con branding propio: logo y paleta aplicados como variables CSS en runtime.
Agenda inteligente
Disponibilidad recurrente, fechas puntuales y bloqueos por vacaciones o feriados, con control de cupos en clases grupales.
Planes por créditos
El alumno compra un paquete de 4, 8 o 12 clases y cada reserva descuenta créditos automáticamente, con lógica de carry-over y renovación.
Doble integración de pagos
Dos flujos distintos sobre Mercado Pago: los cobros del centro a sus alumnos, y la suscripción SaaS de la plataforma al centro.
Decisiones técnicas
- 01
Arquitectura hexagonal en el backend
Puertos y adaptadores para que la lógica de dominio — créditos, reservas, renovaciones — no dependa de la base, del proveedor de pagos ni del storage de video.
- 02
Angular 20 con Signals y SSR
Signals para el estado reactivo sin la ceremonia de RxJS en todo el árbol, y SSR para que las landings públicas de cada centro sean indexables.
- 03
Cloudflare Stream para el contenido on-demand
Servir video desde S3 obliga a resolver transcoding, adaptive bitrate y protección del contenido a mano. Stream lo cubre con un costo predecible por minuto.
Stack
Frontend
- Angular 20
- Standalone components
- Signals
- SSR
- TypeScript
Backend
- NestJS 9
- TypeScript
- Arquitectura hexagonal
- RBAC multi-tenant
Datos
- PostgreSQL
- TypeORM
- Redis
- Bull (colas)
Integraciones
- Mercado Pago (×2)
- Google Calendar API
- AWS S3
- Cloudflare R2
- Cloudflare Stream
Infra
- Docker
- Netlify
- Cloudflare
- Neon
- Interserver
Siguiente proyecto