Template base para proyectos SaaS multi-tenant. Estructura inicial: - apps/backend (NestJS API) - apps/frontend (React/Vite) - apps/database (PostgreSQL DDL) - docs/ (Documentación) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
116 lines
2.8 KiB
Markdown
116 lines
2.8 KiB
Markdown
# Template SaaS Multi-Tenant
|
|
|
|
**Version:** 0.1.0
|
|
**Estado:** Fase 0 - Preparacion
|
|
**Tipo:** STANDALONE
|
|
**Sistema:** SIMCO + NEXUS v3.4
|
|
|
|
---
|
|
|
|
## Descripcion
|
|
|
|
Template base para desarrollo de plataformas SaaS multi-tenant con arquitectura moderna, siguiendo los estandares definidos en el workspace NEXUS.
|
|
|
|
Este proyecto sirve como punto de partida para cualquier aplicacion SaaS que requiera:
|
|
- Multi-tenancy con aislamiento de datos (RLS)
|
|
- Sistema de suscripciones y pagos (Stripe)
|
|
- Tres portales: Usuario Final, Admin de Tenant, Superadmin
|
|
- Integracion con LLMs (agnóstico al proveedor)
|
|
- RBAC (Role-Based Access Control)
|
|
|
|
---
|
|
|
|
## Stack Tecnologico
|
|
|
|
| Capa | Tecnologia |
|
|
|------|------------|
|
|
| Backend | Node.js 20+ / Express.js / TypeScript 5.3+ |
|
|
| Frontend | React 18+ / Vite 5+ / TypeScript / Tailwind CSS 4 |
|
|
| Database | PostgreSQL 16+ con RLS |
|
|
| State | Zustand |
|
|
| Pagos | Stripe |
|
|
| IA | Claude / OpenAI / Gemini (wrapper agnóstico) |
|
|
|
|
---
|
|
|
|
## Modulos Core
|
|
|
|
1. **SAAS-001-auth** - Autenticacion JWT, OAuth, MFA
|
|
2. **SAAS-002-tenants** - Gestion de organizaciones
|
|
3. **SAAS-003-users** - Usuarios con RBAC
|
|
4. **SAAS-004-billing** - Suscripciones Stripe
|
|
5. **SAAS-005-plans** - Planes y limites
|
|
6. **SAAS-006-onboarding** - Flujo de registro
|
|
7. **SAAS-007-notifications** - Email, push, in-app
|
|
8. **SAAS-008-feature-flags** - Toggles por plan/tenant
|
|
9. **SAAS-009-audit** - Auditoria de acciones
|
|
10. **SAAS-010-portal-user** - Portal usuario final
|
|
11. **SAAS-011-portal-admin** - Portal admin de tenant
|
|
12. **SAAS-012-portal-superadmin** - Portal superadmin
|
|
|
|
---
|
|
|
|
## Estructura del Proyecto
|
|
|
|
```
|
|
template-saas/
|
|
├── apps/
|
|
│ ├── database/
|
|
│ │ ├── ddl/schemas/
|
|
│ │ ├── seeds/
|
|
│ │ └── scripts/
|
|
│ ├── backend/src/
|
|
│ │ ├── modules/
|
|
│ │ └── shared/
|
|
│ └── frontend/src/
|
|
│ ├── portals/
|
|
│ ├── shared/
|
|
│ └── stores/
|
|
├── docs/
|
|
│ ├── 00-vision-general/
|
|
│ ├── 01-modulos/
|
|
│ ├── 02-integraciones/
|
|
│ └── 97-adr/
|
|
└── orchestration/
|
|
├── 00-guidelines/
|
|
├── inventarios/
|
|
└── trazas/
|
|
```
|
|
|
|
---
|
|
|
|
## Inicio Rapido
|
|
|
|
```bash
|
|
# Database
|
|
cd apps/database && ./scripts/drop-and-recreate-database.sh
|
|
|
|
# Backend
|
|
cd apps/backend && npm install && npm run start:dev
|
|
|
|
# Frontend
|
|
cd apps/frontend && npm install && npm run dev
|
|
```
|
|
|
|
---
|
|
|
|
## Herencia SIMCO
|
|
|
|
Este proyecto hereda directivas de:
|
|
- `core/orchestration/directivas/simco/`
|
|
- `shared/catalog/` (funcionalidades reutilizables)
|
|
|
|
---
|
|
|
|
## Referencias
|
|
|
|
- Vision: `docs/00-vision-general/VISION-TEMPLATE-SAAS.md`
|
|
- Arquitectura: `docs/00-vision-general/ARQUITECTURA-MULTI-TENANT.md`
|
|
- Contexto: `orchestration/00-guidelines/CONTEXTO-PROYECTO.md`
|
|
- Estado: `orchestration/PROJECT-STATUS.md`
|
|
|
|
---
|
|
|
|
**Creado:** 2026-01-07
|
|
**Sistema:** NEXUS v3.4 | SIMCO
|