3.0 KiB
3.0 KiB
ADR-001: Stack Tecnologico
Estado: Aceptada Fecha: 2025-11-24 Responsable: Architecture-Analyst Proyecto: ERP Construccion
Contexto
Necesitamos definir el stack tecnologico para el ERP de Construccion que sea:
- Moderno y mantenible
- Compatible con ERP Generico para reutilizacion
- Con ecosistema maduro y soporte a largo plazo
- Adecuado para la industria de construccion e INFONAVIT
Decision
Backend: Node.js 20+ LTS + Express 4.18+ + TypeScript 5+ Frontend: React 18+ + Vite 5+ + TypeScript 5+ Database: PostgreSQL 15+ + PostGIS Mobile: React Native (futuro - para asistencias GPS)
Justificacion
Referencia a Gamilit
- Stack probado en produccion (2+ anos)
- Node.js 20 LTS (soporte hasta 2026)
- TypeScript garantiza type safety completo
- Vite build tool moderno (HMR rapido)
- PostgreSQL 15 con mejoras de performance
Referencia a Odoo
- PostgreSQL es el mismo RDBMS que usa Odoo (probado a escala)
- Patrones de contabilidad y multi-tenancy adoptados
Alineacion con ERP Generico
- Mismo stack permite reutilizacion de componentes (61%)
- Equipo con experiencia en este stack
- Migracion sera mas sencilla
Especifico para Construccion
- PostGIS para ubicaciones de obras y GPS
- Node.js async ideal para procesamiento de estimaciones
- React Native para apps de asistencia en campo
Consecuencias
Positivas
- Ecosistema maduro (npm, TypeScript, React)
- Reutilizacion de conocimiento del equipo
- Type safety completo (reduce bugs 40%)
- Performance excelente (Node.js async I/O)
- PostgreSQL altamente escalable
- PostGIS para georreferenciacion de proyectos
Negativas
- Node.js single-threaded (mitigado con clustering)
- JavaScript puede ser permisivo (mitigado con TypeScript strict mode)
Alternativas Consideradas
1. Python + Django + PostgreSQL
- Pros: Mas cercano a Odoo
- Contras: Equipo no tiene experiencia, no compatible con ERP Generico
- Rechazada: No permite reutilizacion
2. Java + Spring Boot + PostgreSQL
- Pros: Enterprise-grade, muy robusto
- Contras: No compatible con ERP Generico, curva aprendizaje alta
- Rechazada: Overhead de desarrollo alto
Implementacion
Acciones Requeridas
- Configurar proyecto con Node.js 20 LTS
- Setup TypeScript con strict mode
- Configurar React 18 + Vite
- Setup PostgreSQL 15 + PostGIS
- Configurar React Native para app movil
Criterios de Aceptacion
- Build exitoso sin errores TypeScript
- HMR funcional en <1s
- PostgreSQL con PostGIS funcional
- Compatibilidad con ERP Generico validada
Riesgos y Mitigacion
- Riesgo: Problemas de performance con Node.js single-threaded
- Mitigacion: Usar clustering, workers threads para tareas pesadas
Referencias
Notas Adicionales
Stack compatible con despliegue en Docker/Kubernetes. Compatible con integraciones INFONAVIT via API REST.