Todos los proyectos
Producto propio

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
Ver en producción
Multi-tenant
con branding propio
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

  1. 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.

  2. 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.

  3. 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

Nutri Suite