[template-saas] refactor(structure): Migrate to canonical apps/ structure (ADR-0011)
Some checks failed
CI / Backend CI (push) Has been cancelled
CI / Frontend CI (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / CI Summary (push) Has been cancelled

- Moved backend/ submodule to apps/backend/
- Moved frontend/ submodule to apps/frontend-web/ (canonical naming)
- Moved database/ submodule to apps/database/
- Updated docker-compose.yml frontend path to apps/frontend-web
- Updated CLAUDE.md v2.0.0 with canonical structure and aliases
- Created apps/_MAP.md with component index
- Updated MASTER_INVENTORY.yml paths (13 references)

Part of: TASK-2026-02-06-ESTANDARIZACION-ESTRUCTURA-PROYECTOS (Sprint 2)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Adrian Flores Cortes 2026-02-06 10:14:32 -06:00
parent 85c987037d
commit e7767e03be
8 changed files with 82 additions and 30 deletions

6
.gitmodules vendored
View File

@ -1,14 +1,14 @@
[submodule "backend"]
path = backend
path = apps/backend
url = git@gitea-server:rckrdmrd/template-saas-backend-v2.git
branch = main
[submodule "database"]
path = database
path = apps/database
url = git@gitea-server:rckrdmrd/template-saas-database-v2.git
branch = main
[submodule "frontend"]
path = frontend
path = apps/frontend-web
url = git@gitea-server:rckrdmrd/template-saas-frontend-v2.git
branch = main

View File

@ -4,8 +4,9 @@
**Sistema:** SIMCO v4.0.0 + NEXUS v4.0
**Proyecto:** template-saas
**Tipo:** PROVIDER (L1A)
**Versión:** 1.2.0
**Actualizado:** 2026-02-03
**Versión:** 2.0.0
**Actualizado:** 2026-02-06
**ADR Vinculante:** ADR-0011 (Estructura Canonica apps/)
**Homologación:** TASK-2026-02-03-HOMOLOGACION-TEMPLATE-SAAS
---
@ -46,17 +47,27 @@ Host: localhost
---
## DIRECTORIOS CLAVE
## ESTRUCTURA CANONICA (ADR-0011)
```
backend/ → Backend NestJS (19 módulos)
frontend/ → Frontend React (3 portales)
database/ddl/ → DDL PostgreSQL (24 tablas)
docs/ → Documentación técnica
orchestration/ → Sistema SIMCO local
.claude/ → Instrucciones Claude Code
template-saas/
├── apps/ # Contenedor canonico
│ ├── backend/ # NestJS API (submodule)
│ │ └── src/modules/ # 23 modulos
│ ├── frontend-web/ # React SPA (submodule)
│ │ └── src/ # 3 portales
│ ├── database/ # DDL PostgreSQL (submodule)
│ │ └── ddl/ # 24 tablas
│ └── _MAP.md # Indice de apps
├── orchestration/ # Sistema SIMCO local
├── docs/ # Documentacion tecnica
├── .claude/ # Instrucciones Claude Code
├── docker-compose.yml # Orquestacion Docker
└── .gitmodules # 3 submodules en apps/
```
**IMPORTANTE:** Todo desarrollo nuevo DEBE ir dentro de `apps/`. No crear archivos en raiz.
---
## HERENCIA
@ -115,12 +126,13 @@ Además de las validaciones del workspace:
## ALIASES LOCALES
- `@BACKEND` → backend/src/modules/
- `@FRONTEND` → frontend/src/
- `@DDL` → database/ddl/
- `@BACKEND`apps/backend/src/modules/
- `@FRONTEND`apps/frontend-web/src/
- `@DDL`apps/database/ddl/
- `@DOCS` → docs/
- `@INVENTARIOS` → orchestration/inventarios/
- `@CONSTANTS` → .claude/constants/CONSTANTS-PROJECT.yml
- `@APPS-MAP` → apps/_MAP.md
---
@ -170,4 +182,5 @@ erp-construccion, erp-clinicas, erp-retail, etc. (CONSUMERS)
---
*Template SaaS v1.2.0 - Sistema SIMCO v4.0.0*
*Template SaaS v2.0.0 - Sistema SIMCO v4.0.0*
*Estructura migrada a apps/ canonico: 2026-02-06*

39
apps/_MAP.md Normal file
View File

@ -0,0 +1,39 @@
# _MAP: Aplicaciones de template-saas
**Carpeta:** apps/
**Proposito:** Contenedor canonico de todas las aplicaciones del proyecto (ADR-0011)
**Estado:** Activo
**Ultima actualizacion:** 2026-02-06
---
## Aplicaciones
| App | Ruta | Tipo | Stack | Estado | Git |
|-----|------|------|-------|--------|-----|
| **Backend API** | `apps/backend/` | API REST | NestJS 11 + TypeORM 0.3 + TypeScript 5 | Activo | Submodule (template-saas-backend-v2) |
| **Frontend Web** | `apps/frontend-web/` | SPA | React 19 + Vite 6 + TailwindCSS 3 + Zustand | Activo | Submodule (template-saas-frontend-v2) |
| **Database** | `apps/database/` | DDL | PostgreSQL 15+ | Activo | Submodule (template-saas-database-v2) |
---
## Metricas
| Componente | Metrica | Valor |
|-----------|---------|-------|
| Backend | Modulos | 23 |
| Database | DDL files | 6 |
| Database | Tablas | 24 |
---
## Docker
Los servicios se levantan con `docker-compose.yml`:
- Backend: `./apps/backend` (port 3001)
- Frontend: `./apps/frontend-web` (port 3000)
- Database DDL: `./apps/database/ddl`
---
*Generado por TASK-2026-02-06-ESTANDARIZACION-ESTRUCTURA-PROYECTOS (Sprint 2)*

View File

@ -85,7 +85,7 @@ services:
# Frontend App (production build served by nginx)
frontend:
build:
context: ./apps/frontend
context: ./apps/frontend-web
dockerfile: Dockerfile
args:
VITE_API_URL: ${VITE_API_URL:-http://localhost:3001}

View File

@ -453,7 +453,7 @@ modulos_infraestructura:
descripcion: "Portal de super administracion"
estado: "completado"
backend: "apps/backend/src/modules/superadmin/"
frontend: "apps/frontend/src/pages/superadmin/"
frontend: "apps/frontend-web/src/pages/superadmin/"
documentacion:
reestructuracion: "2026-01-10"
@ -504,20 +504,20 @@ historial_cambios:
descripcion: "SAAS-019 Portfolio implementado. 4 tablas DDL (categories, products, variants, prices), 4 entities, 2 services, 2 controllers, 2 API services, 21 React Query hooks."
agente: "Claude Opus 4.5 (SAAS-019 Portfolio)"
archivos_verificados:
- "backend/src/app.module.ts"
- "backend/src/modules/portfolio/"
- "frontend/src/services/portfolio/"
- "frontend/src/hooks/usePortfolio.ts"
- "database/ddl/schemas/portfolio/"
- "apps/backend/src/app.module.ts"
- "apps/backend/src/modules/portfolio/"
- "apps/frontend-web/src/services/portfolio/"
- "apps/frontend-web/src/hooks/usePortfolio.ts"
- "apps/database/ddl/schemas/portfolio/"
- fecha: "2026-01-24"
tipo: "correccion_critica"
descripcion: "CORRECCION: Sales (SAAS-018) y Commissions (SAAS-020) SI estan implementados. Codigo verificado en app.module.ts lineas 31-32, 93-94. Frontend compila exitosamente. Sprints 6 y 7 marcados completados."
agente: "Claude Opus 4.5 (Validacion de Coherencia)"
archivos_verificados:
- "backend/src/app.module.ts"
- "backend/src/modules/sales/"
- "backend/src/modules/commissions/"
- "frontend/src/pages/dashboard/sales/"
- "frontend/src/pages/dashboard/commissions/"
- "database/ddl/schemas/sales/"
- "database/ddl/schemas/commissions/"
- "apps/backend/src/app.module.ts"
- "apps/backend/src/modules/sales/"
- "apps/backend/src/modules/commissions/"
- "apps/frontend-web/src/pages/dashboard/sales/"
- "apps/frontend-web/src/pages/dashboard/commissions/"
- "apps/database/ddl/schemas/sales/"
- "apps/database/ddl/schemas/commissions/"