diff --git a/.gitmodules b/.gitmodules index 6d739ee..cd4ccac 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,9 @@ [submodule "backend"] - path = backend + path = apps/backend url = git@gitea-server:rckrdmrd/erp-transportistas-backend-v2.git [submodule "frontend"] - path = frontend + path = apps/frontend-web url = git@gitea-server:rckrdmrd/erp-transportistas-frontend-v2.git [submodule "database"] - path = database + path = apps/database url = git@gitea-server:rckrdmrd/erp-transportistas-database-v2.git diff --git a/CLAUDE.md b/CLAUDE.md index f1a3ec8..75e6cc2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,8 +4,9 @@ **Sistema:** SIMCO v4.0.0 + NEXUS v4.0 **Proyecto:** erp-transportistas **Tipo:** CONSUMER (Vertical ERP) -**Version:** 1.0.0 -**Actualizado:** 2026-01-25 +**Version:** 2.0.0 +**Actualizado:** 2026-02-06 +**ADR Vinculante:** ADR-0011 (Estructura Canonica apps/) --- @@ -61,25 +62,26 @@ Host: localhost --- -## ESTRUCTURA DEL PROYECTO +## ESTRUCTURA CANONICA (ADR-0011) ``` erp-transportistas/ -├── CLAUDE.md <- ESTE ARCHIVO -├── PROJECT-STATUS.md <- Estado actual -├── INVENTARIO.yml <- Inventario SIMCO -├── backend/ <- Backend NestJS -│ └── src/modules/ <- Modulos implementados -├── frontend/ <- Frontend React -├── database/ -│ └── ddl/ <- DDL PostgreSQL -├── docs/ <- Documentacion funcional -│ ├── 00-vision-general/ -│ └── 02-definicion-modulos/ -├── orchestration/ <- Sistema SIMCO local -└── .claude/ <- Instrucciones Claude Code +├── apps/ # Contenedor canonico de aplicaciones +│ ├── backend/ # NestJS API (submodule → erp-transportistas-backend-v2) +│ │ └── src/modules/ # Modulos implementados +│ ├── frontend-web/ # React SPA (submodule → erp-transportistas-frontend-v2) +│ ├── frontend-mobile/ # React Native (submodule) +│ ├── database/ # DDL PostgreSQL + PostGIS (submodule → erp-transportistas-database-v2) +│ │ └── ddl/ # Archivos DDL +│ └── _MAP.md # Indice de aplicaciones +├── orchestration/ # Sistema SIMCO local +├── docs/ # Documentacion funcional +├── .claude/ # Instrucciones Claude Code +└── .gitmodules # 4 submodules (backend, frontend-web, database, frontend-mobile) ``` +**IMPORTANTE:** Todo desarrollo nuevo DEBE ir dentro de `apps/`. No crear archivos en raiz. + --- ## SCHEMAS DE BASE DE DATOS @@ -226,9 +228,11 @@ Ademas de las validaciones de erp-core: ## ALIASES LOCALES -- `@BACKEND` → backend/src/ -- `@FRONTEND` → frontend/src/ -- `@DDL` → database/ddl/ +- `@BACKEND` → apps/backend/src/ +- `@FRONTEND` → apps/frontend-web/src/ +- `@DDL` → apps/database/ddl/ +- `@MOBILE` → apps/frontend-mobile/ +- `@APPS-MAP` → apps/_MAP.md - `@DOCS` → docs/ - `@MODULOS` → docs/02-definicion-modulos/ - `@ORCHESTRATION` → orchestration/ @@ -280,4 +284,5 @@ Ademas de las validaciones de erp-core: --- -*ERP Transportistas v1.0.0 - Sistema SIMCO v4.0.0* +*ERP Transportistas v2.0.0 - Sistema SIMCO v4.0.0* +*Estructura migrada a apps/ canonico: 2026-02-06* diff --git a/apps/_MAP.md b/apps/_MAP.md new file mode 100644 index 0000000..30d5c41 --- /dev/null +++ b/apps/_MAP.md @@ -0,0 +1,29 @@ +# _MAP: Aplicaciones de erp-transportistas + +**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 10 + TypeScript 5 | Planificado | Submodule (erp-transportistas-backend-v2) | +| **Frontend Web** | `apps/frontend-web/` | SPA | React 18 | Planificado | Submodule (erp-transportistas-frontend-v2) | +| **Database** | `apps/database/` | DDL | PostgreSQL 15+ + PostGIS | Planificado | Submodule (erp-transportistas-database-v2) | +| **Frontend Mobile** | `apps/frontend-mobile/` | Mobile App | React Native/Expo | Planificado | Submodule (erp-transportistas-frontend-mobile) | + +--- + +## Notas + +- Migrado a estructura apps/ canonica (ADR-0011) 2026-02-06 +- Unico proyecto ERP vertical con componente mobile +- Backend, Frontend Web, Database y Frontend Mobile son submodulos git separados (POLYREPO) + +--- + +*Generado por TASK-2026-02-06-ESTANDARIZACION-ESTRUCTURA-PROYECTOS (Sprint 3)* diff --git a/backend b/apps/backend similarity index 100% rename from backend rename to apps/backend diff --git a/database b/apps/database similarity index 100% rename from database rename to apps/database diff --git a/mobile/App.tsx b/apps/frontend-mobile/App.tsx similarity index 100% rename from mobile/App.tsx rename to apps/frontend-mobile/App.tsx diff --git a/mobile/app.json b/apps/frontend-mobile/app.json similarity index 100% rename from mobile/app.json rename to apps/frontend-mobile/app.json diff --git a/mobile/package.json b/apps/frontend-mobile/package.json similarity index 100% rename from mobile/package.json rename to apps/frontend-mobile/package.json diff --git a/mobile/src/screens/ChecklistScreen.tsx b/apps/frontend-mobile/src/screens/ChecklistScreen.tsx similarity index 100% rename from mobile/src/screens/ChecklistScreen.tsx rename to apps/frontend-mobile/src/screens/ChecklistScreen.tsx diff --git a/mobile/src/screens/LoginScreen.tsx b/apps/frontend-mobile/src/screens/LoginScreen.tsx similarity index 100% rename from mobile/src/screens/LoginScreen.tsx rename to apps/frontend-mobile/src/screens/LoginScreen.tsx diff --git a/mobile/src/screens/PODScreen.tsx b/apps/frontend-mobile/src/screens/PODScreen.tsx similarity index 100% rename from mobile/src/screens/PODScreen.tsx rename to apps/frontend-mobile/src/screens/PODScreen.tsx diff --git a/mobile/src/screens/ViajeActualScreen.tsx b/apps/frontend-mobile/src/screens/ViajeActualScreen.tsx similarity index 100% rename from mobile/src/screens/ViajeActualScreen.tsx rename to apps/frontend-mobile/src/screens/ViajeActualScreen.tsx diff --git a/mobile/src/screens/index.ts b/apps/frontend-mobile/src/screens/index.ts similarity index 100% rename from mobile/src/screens/index.ts rename to apps/frontend-mobile/src/screens/index.ts diff --git a/mobile/src/services/LocationService.ts b/apps/frontend-mobile/src/services/LocationService.ts similarity index 100% rename from mobile/src/services/LocationService.ts rename to apps/frontend-mobile/src/services/LocationService.ts diff --git a/mobile/src/services/OfflineStorage.ts b/apps/frontend-mobile/src/services/OfflineStorage.ts similarity index 100% rename from mobile/src/services/OfflineStorage.ts rename to apps/frontend-mobile/src/services/OfflineStorage.ts diff --git a/mobile/src/services/SyncService.ts b/apps/frontend-mobile/src/services/SyncService.ts similarity index 100% rename from mobile/src/services/SyncService.ts rename to apps/frontend-mobile/src/services/SyncService.ts diff --git a/mobile/src/services/api.ts b/apps/frontend-mobile/src/services/api.ts similarity index 100% rename from mobile/src/services/api.ts rename to apps/frontend-mobile/src/services/api.ts diff --git a/mobile/src/services/index.ts b/apps/frontend-mobile/src/services/index.ts similarity index 100% rename from mobile/src/services/index.ts rename to apps/frontend-mobile/src/services/index.ts diff --git a/mobile/src/store/authStore.ts b/apps/frontend-mobile/src/store/authStore.ts similarity index 100% rename from mobile/src/store/authStore.ts rename to apps/frontend-mobile/src/store/authStore.ts diff --git a/mobile/src/store/index.ts b/apps/frontend-mobile/src/store/index.ts similarity index 100% rename from mobile/src/store/index.ts rename to apps/frontend-mobile/src/store/index.ts diff --git a/mobile/src/store/viajeStore.ts b/apps/frontend-mobile/src/store/viajeStore.ts similarity index 100% rename from mobile/src/store/viajeStore.ts rename to apps/frontend-mobile/src/store/viajeStore.ts diff --git a/mobile/src/types/index.ts b/apps/frontend-mobile/src/types/index.ts similarity index 100% rename from mobile/src/types/index.ts rename to apps/frontend-mobile/src/types/index.ts diff --git a/mobile/tsconfig.json b/apps/frontend-mobile/tsconfig.json similarity index 100% rename from mobile/tsconfig.json rename to apps/frontend-mobile/tsconfig.json diff --git a/frontend b/apps/frontend-web similarity index 100% rename from frontend rename to apps/frontend-web