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>
148 lines
4.5 KiB
Markdown
148 lines
4.5 KiB
Markdown
# PROXIMA ACCION - Template SaaS
|
|
|
|
**Fecha:** 2026-01-07
|
|
**Fase actual:** Fase 2 - Frontend (100% DDL, 100% Backend, 53% Frontend)
|
|
**Progreso:** 69/179 SP (39%)
|
|
|
|
---
|
|
|
|
## ESTADO ACTUAL
|
|
|
|
El proyecto template-saas ha completado:
|
|
- Fase 0 - Preparacion (100%)
|
|
- Fase 1 - DDL Core (100%)
|
|
- 9 schemas creados
|
|
- 27 tablas implementadas
|
|
- 20+ RLS policies activas
|
|
- 22 funciones de utilidad
|
|
- Seeds produccion cargados
|
|
- Fase 1 - Backend Core (100%)
|
|
- 9 modulos NestJS implementados
|
|
- 55+ endpoints REST
|
|
- 25+ tests unitarios
|
|
- Sistema RBAC completo
|
|
- Audit logs con interceptor global
|
|
- Feature flags con rollout gradual
|
|
|
|
**Validacion exitosa:** Base de datos recreada correctamente (2026-01-07)
|
|
**Backend completado:** 9/9 modulos core implementados
|
|
|
|
---
|
|
|
|
## TAREAS COMPLETADAS
|
|
|
|
### Fase 0 - Preparacion
|
|
- [x] Estructura de directorios
|
|
- [x] VISION-TEMPLATE-SAAS.md
|
|
- [x] ARQUITECTURA-MULTI-TENANT.md
|
|
- [x] Inventarios de capas
|
|
- [x] Trazas de tareas
|
|
- [x] PROJECT-STATUS.md
|
|
|
|
### Fase 1 - DDL
|
|
- [x] SAAS-001-DDL: DDL schemas auth, tenants, users (8 SP)
|
|
- [x] SAAS-002-DDL: DDL schemas billing, plans (5 SP)
|
|
- [x] SAAS-003-DDL: DDL schemas notifications, feature_flags, audit (5 SP)
|
|
- [x] SAAS-004-RLS: RLS policies para todos los schemas (5 SP)
|
|
- [x] SAAS-005-SEEDS: Seeds produccion (3 SP)
|
|
- [x] SAAS-006-SCRIPTS: Scripts create/drop-recreate database (1 SP)
|
|
- [x] SAAS-007-VALIDATE: Validacion DDL ejecutando recreacion (1 SP)
|
|
|
|
### Fase 1 - Backend
|
|
- [x] SAAS-010-BACKEND-AUTH: Modulo auth con JWT (5 SP)
|
|
- [x] SAAS-011-BACKEND-TENANTS: Modulo tenants (3 SP)
|
|
- [x] SAAS-012-BACKEND-USERS: Modulo users (3 SP)
|
|
- [x] SAAS-013-BACKEND-HEALTH: Health checks (1 SP)
|
|
- [x] SAAS-014-BACKEND-RBAC: Sistema roles y permisos (3 SP)
|
|
- [x] SAAS-015-BACKEND-BILLING: Modulo billing (5 SP)
|
|
- [x] SAAS-016-BACKEND-NOTIFICATIONS: Modulo notificaciones (3 SP)
|
|
- [x] SAAS-017-BACKEND-TESTS: Tests unitarios auth (2 SP)
|
|
- [x] SAAS-018-BACKEND-AUDIT: Modulo audit logs (2 SP)
|
|
- [x] SAAS-019-BACKEND-FEATURE-FLAGS: Modulo feature flags (3 SP)
|
|
- [x] SAAS-022-STRIPE: Integracion Stripe (5 SP)
|
|
|
|
### Fase 2 - Frontend
|
|
- [x] SAAS-020-FRONTEND-SETUP: Setup React + Vite (3 SP)
|
|
- [x] SAAS-021-FRONTEND-AUTH: Paginas Auth con API (5 SP)
|
|
- [x] SAAS-023-FRONTEND-DASHBOARD: Dashboard con datos reales (3 SP)
|
|
- [x] SAAS-FE-010: Portal Superadmin - Tenants (5 SP)
|
|
|
|
---
|
|
|
|
## SIGUIENTE TAREA PRIORITARIA
|
|
|
|
**ID:** SAAS-FE-011
|
|
**Nombre:** Portal Superadmin - Metrics
|
|
**Agente:** Frontend-Agent
|
|
**SP:** 5
|
|
|
|
### Descripcion
|
|
Metricas avanzadas en el portal superadmin:
|
|
- Graficas de crecimiento de tenants
|
|
- Revenue por tenant
|
|
- Usuarios activos por periodo
|
|
- Metricas de uso de features
|
|
|
|
### Archivos a Crear
|
|
```
|
|
apps/frontend/src/pages/superadmin/
|
|
├── MetricsPage.tsx
|
|
apps/frontend/src/hooks/useSuperadmin.ts (actualizar)
|
|
apps/frontend/src/router/index.tsx (actualizar)
|
|
```
|
|
|
|
### Criterios de Aceptacion
|
|
- [ ] Dashboard con graficas de crecimiento
|
|
- [ ] Metricas de revenue
|
|
- [ ] Filtros por periodo
|
|
- [ ] Export de datos
|
|
|
|
---
|
|
|
|
## TAREAS POSTERIORES
|
|
|
|
| ID | Tarea | Agente | SP |
|
|
|----|-------|--------|-----|
|
|
| SAAS-FE-013 | Onboarding Wizard | Frontend-Agent | 8 |
|
|
| SAAS-FE-014 | Componentes notificaciones | Frontend-Agent | 5 |
|
|
| SAAS-FE-015 | Chat AI integration | Frontend-Agent | 8 |
|
|
|
|
---
|
|
|
|
## DDL COMPLETADO (Referencia)
|
|
|
|
| Schema | Tablas | RLS | Seeds |
|
|
|--------|--------|-----|-------|
|
|
| tenants | tenants, tenant_settings | Parcial | - |
|
|
| users | users, roles, user_roles, permissions, invitations | Si | 21 permisos |
|
|
| auth | sessions, tokens, refresh_tokens, oauth_connections | Si | - |
|
|
| plans | plans, plan_features | No | 4 planes |
|
|
| billing | subscriptions, subscription_items, invoices, invoice_items, payments | Si | - |
|
|
| audit | audit_logs, activity_logs | Si | - |
|
|
| notifications | templates, notifications, user_preferences | Si | 6 templates |
|
|
| feature_flags | flags, tenant_flags, user_flags, evaluations | Si | 8 flags |
|
|
|
|
---
|
|
|
|
## DECISIONES TOMADAS
|
|
|
|
1. **ORM Backend:** TypeORM (alineado con erp-core y gamilit)
|
|
2. **State Management Frontend:** Zustand (alineado con gamilit)
|
|
3. **Proveedor LLM:** Claude (Anthropic) como default
|
|
4. **Usuario BD:** gamilit_user con permisos CREATEDB
|
|
|
|
---
|
|
|
|
## REFERENCIAS
|
|
|
|
- Catalogo SaaS: `shared/catalog/template-saas/`
|
|
- Trazas DDL: `orchestration/trazas/TRAZA-TAREAS-DATABASE.md`
|
|
- Inventario DB: `orchestration/inventarios/DATABASE_INVENTORY.yml`
|
|
- Gamilit (referencia): `projects/gamilit/`
|
|
- erp-core (referencia): `projects/erp-core/`
|
|
|
|
---
|
|
|
|
**Ultima actualizacion:** 2026-01-07
|
|
**Actualizado por:** Frontend-Agent (SAAS-FE-010 Portal Superadmin Tenants completado)
|