# Architecture Decision Records (ADR) Documentacion de decisiones arquitectonicas importantes para el ERP de Construccion. **Proyecto:** ERP Construccion **Alineado con:** ERP Generico **Fecha de actualizacion:** 2025-11-24 --- ## Indice de ADRs | ADR | Titulo | Estado | Fecha | |-----|--------|--------|-------| | [ADR-001](./ADR-001-stack-tecnologico.md) | Stack Tecnologico | Aceptada | 2025-11-24 | | [ADR-002](./ADR-002-arquitectura-modular.md) | Arquitectura Modular Monorepo | Aceptada | 2025-11-24 | | [ADR-003](./ADR-003-multi-tenancy.md) | Multi-Tenancy Schema-Level | Aceptada | 2025-11-24 | | [ADR-004](./ADR-004-sistema-constantes-ssot.md) | Sistema de Constantes SSOT | Aceptada | 2025-11-24 | | [ADR-005](./ADR-005-path-aliases.md) | Path Aliases | Aceptada | 2025-11-24 | | [ADR-006](./ADR-006-rbac-sistema-permisos.md) | RBAC - Sistema de Permisos | Aceptada | 2025-11-24 | | [ADR-007](./ADR-007-database-design.md) | Database Design Multi-Schema | Aceptada | 2025-11-24 | | [ADR-008](./ADR-008-api-design.md) | API Design RESTful | Aceptada | 2025-11-24 | | [ADR-009](./ADR-009-frontend-architecture.md) | Frontend Architecture - FSD | Aceptada | 2025-11-24 | | [ADR-010](./ADR-010-testing-strategy.md) | Testing Strategy | Aceptada | 2025-11-24 | | [ADR-011](./ADR-011-database-clean-load-strategy.md) | Database Clean Load Strategy | Aceptada | 2025-11-24 | | [ADR-012](./ADR-012-complete-traceability-policy.md) | Politica de Trazabilidad Completa | Aceptada | 2025-11-24 | --- ## Resumen de Decisiones ### Fundamentos (ADR-001 a ADR-003) - **Stack:** Node.js 20+ LTS, React 18+, PostgreSQL 15+ con PostGIS - **Arquitectura:** Monorepo con dependencia de ERP Generico - **Multi-tenancy:** Schema-level isolation (cada constructora un schema) ### Patrones de Desarrollo (ADR-004 a ADR-006) - **SSOT:** Backend como unica fuente de verdad para constantes - **Path Aliases:** `@shared`, `@modules`, `@construccion`, `@erp-generic` - **RBAC:** Roles de construccion con RLS en PostgreSQL ### Data & API (ADR-007 a ADR-008) - **Database:** Multi-schema por dominio (auth, core, construction, infonavit, estimates) - **API:** RESTful con versionado, documentacion OpenAPI ### Frontend & Testing (ADR-009 a ADR-010) - **Frontend:** Feature-Sliced Design con features por rol - **Testing:** Piramide (Unit 80%, Integration 70%, E2E 60%) ### Politicas (ADR-011 a ADR-012) - **Database:** Carga limpia (sin migrations incrementales) - **Trazabilidad:** End-to-end obligatoria (RF -> ET -> BD -> Codigo) --- ## Alineacion con ERP Generico Estos ADRs estan alineados con los ADRs del ERP Generico para garantizar: - Reutilizacion del 61% de componentes - Compatibilidad de schemas de base de datos - Consistencia arquitectonica - Facilidad de mantenimiento cruzado **Referencia:** `/projects/erp-generic/docs/adr/` --- ## Formato de ADR ```markdown # ADR-XXX: Titulo de la Decision **Estado:** Propuesta | Aceptada | Rechazada | Deprecada **Fecha:** YYYY-MM-DD **Responsable:** Architecture-Analyst **Proyecto:** ERP Construccion ## Contexto Que problema estamos resolviendo? ## Decision Que decidimos hacer? ## Justificacion - Referencia a Gamilit - Referencia a Odoo - Alineacion con ERP Generico - Especifico para Construccion ## Consecuencias ### Positivas - ... ### Negativas - ... ## Implementacion ### Acciones Requeridas - [ ] Tarea 1 - [ ] Tarea 2 ### Criterios de Aceptacion - ... ## Referencias - [ERP Generico ADR-XXX](...) ``` --- **Ultima actualizacion:** 2025-11-24 **Responsable:** Architecture-Analyst