# Template SaaS **Version:** 1.0.0 **Origen:** projects/erp-core, projects/gamilit **Estado:** Produccion **Ultima actualizacion:** 2025-12-27 --- ## Descripcion Template base para aplicaciones SaaS multi-tenant con: - Estructura de proyecto estandarizada - Configuracion de suscripciones y planes - Sistema de billing integrado - Onboarding de nuevos tenants - Dashboard de administracion - Metricas de uso por tenant --- ## Caracteristicas | Caracteristica | Descripcion | |----------------|-------------| | Multi-tenant | Aislamiento completo por tenant con RLS | | Planes/Pricing | Sistema de planes con features por nivel | | Suscripciones | Gestion de ciclos de facturacion | | Trial Period | Soporte para periodos de prueba | | Usage Metering | Medicion de uso para facturacion | | Self-service | Portal de auto-gestion para clientes | | Admin Dashboard | Panel de administracion centralizado | --- ## Stack Tecnologico ```yaml backend: framework: NestJS orm: TypeORM payments: Stripe validation: class-validator frontend: framework: React state: Zustand styling: Tailwind CSS forms: React Hook Form + Zod database: engine: PostgreSQL schemas: - billing (suscripciones, pagos) - tenants (organizaciones, miembros) - usage (metricas de uso) ``` --- ## Estructura del Template ``` template-saas/ ├── backend/ │ ├── src/ │ │ ├── modules/ │ │ │ ├── billing/ # Suscripciones, pagos │ │ │ ├── tenants/ # Multi-tenancy │ │ │ ├── plans/ # Planes y features │ │ │ ├── usage/ # Metricas de uso │ │ │ └── onboarding/ # Flujo de registro │ │ └── shared/ │ │ ├── guards/ # Tenant guard, Plan guard │ │ └── decorators/ # @CurrentTenant, @RequiresPlan │ └── database/ │ └── ddl/ │ └── billing.sql # Schema de billing │ ├── frontend/ │ ├── src/ │ │ ├── pages/ │ │ │ ├── auth/ # Login, register │ │ │ ├── onboarding/ # Wizard de setup │ │ │ ├── dashboard/ # Dashboard principal │ │ │ ├── billing/ # Gestion de plan │ │ │ └── settings/ # Configuracion │ │ └── components/ │ │ ├── billing/ # Componentes de billing │ │ └── plan-gate/ # Feature gating UI │ └── stores/ │ ├── tenant.store.ts │ └── subscription.store.ts │ └── docs/ ├── onboarding-flow.md ├── billing-integration.md └── multi-tenant-setup.md ``` --- ## Casos de Uso - ERPs verticales (construccion, clinicas, retail) - Plataformas de gestion - Aplicaciones B2B con multiples clientes - Sistemas con planes freemium/premium --- ## Trade-offs | Ventaja | Desventaja | |---------|------------| | Estructura probada | Requiere adaptacion al dominio | | Billing integrado | Dependencia de Stripe | | Multi-tenant robusto | Complejidad adicional | | Metricas incluidas | Overhead de tracking | --- ## Proyectos que lo Usan | Proyecto | Version | Notas | |----------|---------|-------| | erp-core | 1.0.0 | Base para verticales | | gamilit | 1.0.0 | Adaptado para educacion | --- ## Referencias - `IMPLEMENTATION.md` - Guia paso a paso - `_reference/` - Codigo de referencia - `payments` - Modulo de pagos del catalogo - `multi-tenancy` - Modulo de multi-tenant --- *Catalogo de Funcionalidades - SIMCO v3.4*