- Add MetricsPage and useOnboarding hook - Update superadmin controller and service - Add module documentation (docs/01-modulos/) - Add CONTEXT-MAP.yml and Sprint 5 execution report - Update project status and task traces 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
154 lines
4.7 KiB
Markdown
154 lines
4.7 KiB
Markdown
# PROXIMA ACCION - Template SaaS
|
|
|
|
**Fecha:** 2026-01-07
|
|
**Fase actual:** Fase 2 - Frontend (100% DDL, 100% Backend, 61% Frontend)
|
|
**Progreso:** 74/179 SP (41%)
|
|
|
|
---
|
|
|
|
## 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)
|
|
- [x] SAAS-FE-011: Portal Superadmin - Metrics (5 SP)
|
|
|
|
---
|
|
|
|
## SIGUIENTE TAREA PRIORITARIA
|
|
|
|
**ID:** SAAS-FE-013
|
|
**Nombre:** Onboarding Wizard
|
|
**Agente:** Frontend-Agent
|
|
**SP:** 8
|
|
|
|
### Descripcion
|
|
Wizard de onboarding para nuevos tenants:
|
|
- Flujo paso a paso para configuracion inicial
|
|
- Configuracion de perfil de empresa
|
|
- Invitacion de primeros usuarios
|
|
- Seleccion de plan inicial
|
|
|
|
### Archivos a Crear
|
|
```
|
|
apps/frontend/src/pages/onboarding/
|
|
├── OnboardingPage.tsx
|
|
├── steps/
|
|
│ ├── CompanyStep.tsx
|
|
│ ├── InviteStep.tsx
|
|
│ ├── PlanStep.tsx
|
|
│ └── CompleteStep.tsx
|
|
apps/frontend/src/hooks/useOnboarding.ts
|
|
apps/frontend/src/router/index.tsx (actualizar)
|
|
```
|
|
|
|
### Criterios de Aceptacion
|
|
- [ ] Wizard multi-step con progreso visual
|
|
- [ ] Configuracion de datos de empresa
|
|
- [ ] Invitacion de usuarios via email
|
|
- [ ] Seleccion de plan con precios
|
|
- [ ] Guardado de progreso entre pasos
|
|
|
|
---
|
|
|
|
## TAREAS POSTERIORES
|
|
|
|
| ID | Tarea | Agente | SP |
|
|
|----|-------|--------|-----|
|
|
| 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-011 Portal Superadmin Metrics completado)
|