ZitaSmart

Plataforma SaaS multi-tenant de reservas para negocios de servicios (salones, clínicas, consultores). Gestiona citas, colaboradores, servicios y suscripciones.

Next.js React TypeScript Tailwind CSS .NET Core PostgreSQL EF Core JWT Cloudinary

Resumen

ZitaSmart es un sistema full-stack de gestión de reservas diseñado para negocios de servicios. Incluye multi-tenancy con roles (SuperAdmin, TenantAdmin, Worker, Client), gestión de reservas con estados y planes de suscripción flexibles (Free, Basic $20, Professional $50, Enterprise $100). Cloudinary permite branding por tenant con gestión de imágenes.

Arquitectura

Arquitectura monorepo (pnpm + Turbo) con frontend Next.js 15 y backend .NET Core. El backend sigue Clean Architecture: WebApi -> Application (CQRS) -> Domain -> Infrastructure (EF Core + PostgreSQL). La base incluye esquemas de identidad, multi-tenancy, reservas y pagos.

Next.js .NET API Application Domain Infrastructure PostgreSQL

Decisiones técnicas clave

Monorepo con pnpm + Turbo para código compartido, builds rápidos y CI/CD unificado

Next.js 15 App Router para server components, SEO y patrones modernos de React

.NET Clean Architecture para separación de responsabilidades y mantenibilidad

EF Core con PostgreSQL para datos relacionales y migraciones

JWT + Refresh Tokens para autenticación stateless segura con rotación

Soft Delete para retención lógica y filtros globales

Repositorios genéricos para aplicar DRY en operaciones CRUD

Planes de suscripción por niveles con límites por plan

Desafíos

Concurrencia: manejar reservas simultáneas en el mismo horario

Aislamiento multi-tenant con consultas eficientes

Aplicar límites de plan en colaboradores, servicios y citas

Disponibilidad de trabajadores con lógica de excepciones y vacaciones

Integración de pagos con carga de comprobantes y sesiones

Compromisos

Complejidad de monorepo vs despliegues independientes

EF Core (productividad) vs SQL puro (rendimiento)

Repositorios genéricos (DRY) vs queries específicas

JWT (stateless) vs sesiones de servidor

Acoplamiento frontend/backend vs SOA para iterar más rápido en MVP

Recursos