94 lines
2.5 KiB
Markdown
94 lines
2.5 KiB
Markdown
# Patrones de Gamilit - ERP Construccion
|
|
|
|
**Fecha:** 2025-11-24
|
|
**Responsable:** Architecture-Analyst
|
|
|
|
---
|
|
|
|
## Proposito
|
|
|
|
Documentar los patrones arquitectonicos de Gamilit adoptados para el ERP de Construccion.
|
|
|
|
## Patrones Adoptados
|
|
|
|
### 1. Database Multi-Schema
|
|
**Referencia:** ADR-007
|
|
|
|
```
|
|
Schemas propuestos para Construccion:
|
|
+-- auth_management # Autenticacion (GENERICO)
|
|
+-- core # Catalogos (GENERICO)
|
|
+-- financial_management # Financiero (GENERICO)
|
|
+-- inventory_management # Inventarios (GENERICO)
|
|
+-- purchasing_management # Compras (GENERICO)
|
|
+-- construction_mgmt # ESPECIFICO: Obras, lotes, prototipos
|
|
+-- infonavit_compliance # ESPECIFICO: INFONAVIT
|
|
+-- estimates_mgmt # ESPECIFICO: Estimaciones
|
|
```
|
|
|
|
**Estado:** Adoptado - Pendiente implementacion
|
|
|
|
### 2. Sistema SSOT (Single Source of Truth)
|
|
**Referencia:** ADR-004
|
|
|
|
- Backend como fuente de verdad
|
|
- Script `sync-enums.ts` para sincronizar
|
|
- Validacion pre-commit
|
|
|
|
**Estado:** Adoptado - Pendiente implementacion
|
|
|
|
### 3. Feature-Sliced Design (Frontend)
|
|
**Referencia:** ADR-009
|
|
|
|
```
|
|
frontend/src/
|
|
+-- shared/ # Componentes reutilizables
|
|
+-- features/
|
|
| +-- director/ # Dashboard director
|
|
| +-- residente/ # Vistas residente
|
|
| +-- almacenista/ # Inventarios
|
|
| +-- portal/ # Derechohabientes
|
|
+-- pages/
|
|
+-- app/
|
|
```
|
|
|
|
**Estado:** Adoptado - Pendiente migracion
|
|
|
|
### 4. Path Aliases
|
|
**Referencia:** ADR-005
|
|
|
|
- `@shared` - Componentes compartidos
|
|
- `@modules` - Modulos de negocio
|
|
- `@construccion` - Especificos de construccion
|
|
|
|
**Estado:** Adoptado - Pendiente configuracion
|
|
|
|
### 5. RLS Policies
|
|
**Referencia:** ADR-006
|
|
|
|
- Row-Level Security en PostgreSQL
|
|
- Policies por tenant y rol
|
|
- 159+ policies planeadas
|
|
|
|
**Estado:** Parcialmente implementado (~20 policies)
|
|
|
|
## Patrones NO Adoptados (Gaps de Gamilit)
|
|
|
|
| Patron | Razon | Alternativa |
|
|
|--------|-------|-------------|
|
|
| Sin Docker | Gamilit no tiene Docker | Implementar Docker (ADR recomendado) |
|
|
| Sin CI/CD | Gamilit deployment manual | Implementar GitHub Actions |
|
|
| 14% Test Coverage | Inaceptable | Objetivo 70%+ (ADR-010) |
|
|
|
|
## Referencias
|
|
|
|
- [Gamilit Database Architecture](/shared/reference/gamilit/database-architecture.md)
|
|
- [Gamilit Backend Patterns](/shared/reference/gamilit/backend-patterns.md)
|
|
- [Gamilit Frontend Patterns](/shared/reference/gamilit/frontend-patterns.md)
|
|
- [Gamilit SSOT System](/shared/reference/gamilit/ssot-system.md)
|
|
- [ERP Generico - Analisis Gamilit](/projects/erp-generic/docs/00-analisis-referencias/gamilit/)
|
|
|
|
---
|
|
|
|
**Estado:** Patrones documentados y adoptados via ADRs
|