Documentación oficial del sistema CARRDUCI-sys, una arquitectura modular escalable organizada por dominios de negocio con componentes independientes y lazy loading granular.
CARRDUCI-sys implementa una "Component Domain Architecture" (Arquitectura de Componentes por Dominios), una arquitectura modular escalable que organiza el código por dominios de negocio con componentes independientes.
- Modular por Dominios: Cada dominio de negocio (compras, ventas, almacén, etc.) tiene su estructura completa independiente
- Componentes Independientes: Cada componente tiene su propio módulo individual (regla estricta: "cada componente su módulo")
- Lazy Loading por Componente: Carga bajo demanda a nivel granular, no por módulos grandes
- Permisos Unificados: Sistema de permisos consistente entre GUI y API
- Documentación Estandarizada: Separadores de sección y reglas JSDoc obligatorias
🏗️ Frontend (Angular) → Componentes modulares con lazy loading
🔧 Backend (Node.js) → Rutas, controladores, servicios, utilidades y plugins
💾 Persistencia → Modelos Mongoose con plugins estándar
🔐 Seguridad → Permisos jerárquicos unificados
- Instalación WSL - Configuración del subsistema Linux en Windows
- Entorno de Desarrollo - Despliegue completo del entorno de desarrollo
- Estructura de Archivos y Código - Arquitectura Component Domain Architecture
- Estructuras de Documentación - Estándares de documentación JSDoc
- Creación de Componentes - Guía completa para crear componentes GUI + API
- Generar Versiones y Docker - Empaquetado y despliegue
| Componente | Descripción | Estado | Última Actualización |
|---|---|---|---|
| Tabla Genérica | Listados paginados con filtros y acciones | ✅ Completo | - |
| Formulario Dinámico | Formularios reactivos tipados | ✅ Completo | 2025-10-03 |
| Carga de Imágenes | Upload y compresión de imágenes | ✅ Completo | 2025-10-01 |
| Historial | Sistema de auditoría automática | ✅ Completo | 2025-10-01 |
| Claves de Autorización | Sistema de autorizaciones críticas | ✅ Completo | 2025-10-01 |
| Flotante Genérico | Tooltips y popovers personalizados | ✅ Completo | - |
| Búsqueda de Texto | Indexación y búsqueda avanzada | ✅ Completo | 2025-10-01 |
| Carrusel de Imágenes | Galerías de imágenes interactivas | ✅ Completo | - |
| Gestor de Impresiones | Sistema de impresión avanzado | ✅ Completo | - |
| Calendario Genérico | Selectores de fecha personalizados | ✅ Completo | - |
| Auto Increment | Generación automática de IDs | ✅ Completo | - |
| Tabla Editable | Tablas con edición inline | 🚧 Pendiente | - |
| Mini Visualizador Foto | Previsualización de imágenes | ✅ Completo | 2025-10-08 |
| Modal Genérico | Diálogos modales reutilizables | ✅ Completo | - |
| Paginación y Filtros | Sistema de paginación avanzado | 🚧 Pendiente | - |
| Permisos | Gestión de permisos de usuario | 🚧 Pendiente | - |
| Selector Fechas | Selectores de fecha avanzados | 🚧 Pendiente | - |
| Sockets | Comunicación en tiempo real | 🚧 Pendiente | - |
| Vista Genérica | Layouts reutilizables | 🚧 Pendiente | - |
| Zona Comentarios | Sistema de comentarios | 🚧 Pendiente | - |
| Data List | Listas de datos dinámicas | ✅ Completo | - |
| Manejo de Mensajes | Sistema de notificaciones | ✅ Completo | 2025-10-06 |
| Detalle Genérico Formulario | Es para mostrar el detalle de cualquier documento | ✅ Completo | 2025-10-08 |
| Pipes Varios | Varios pipes útiles para el sistema | 🚧 Pendiente | - |
- Configuración Docker - Contenedores y despliegue
- Ubuntu Server - Configuración de servidores Ubuntu
- Windows - Configuración y utilidades Windows
- Visual Studio Code - Configuración del IDE
- ODBC Mongo - Conexiones ODBC con MongoDB
Para instrucciones completas de instalación y configuración del entorno de desarrollo, consulta:
📚 Documentación de Desarrollo CARRDUCI-sys - Entorno completo de desarrollo
🔧 Instalación WSL - Configuración del subsistema Linux
La documentación está disponible en: https://carrduci.github.io/documentacion_sistemas/
# Iniciar servidor de desarrollo
cd ~/carrduci-dev/carrduci_sys_workspace/documentacion_sistemas
npm run start- ✅ Archivos:
minusculas-con-guiones.md - ✅ Carpetas:
minusculas-con-guiones/ - ❌ Espacios: NO usar espacios en nombres
Se usa Docsify con sintaxis Markdown extendida:
- ✅ Encabezados jerárquicos
- ✅ Código con resaltado sintáctico
- ✅ Tablas y listas
- ✅ Imágenes y enlaces
- ✅ Separadores de sección con
#region
Cada vez que se modifica la estructura de archivos:
# Generar menú lateral automáticamente
/bin/python3 /home/sistemas/carrduci-dev/carrduci_sys_workspace/documentacion_sistemas/generar_directorio.py# 1. Hacer cambios en archivos .md
# 2. Generar menú lateral si cambió la estructura
/bin/python3 ~/carrduci-dev/carrduci_sys_workspace/documentacion_sistemas/generar_directorio.py
# 3. Commit y push
git add .
git commit -m "Descripción de los cambios"
git push -u origin main- ✅ Commits descriptivos en español
- ✅ Commits atómicos por funcionalidad
- ✅ Referencias a issues cuando aplique
- ✅ Siempre usar conventional commits
- ✅ Idioma: Español (México) obligatorio
- ✅ Formal pero accesible: Para desarrolladores
- ✅ Términos técnicos: Explicados en español
- ✅ Consistencia: Seguir patrones establecidos
- ✅ Comentarios arriba de líneas referenciadas
- ✅ Sin acentos en comentarios de código
- ✅ Separadores de sección obligatorios
- ✅ JSDoc para todas las funciones
Todos los archivos van en /docs organizados por categorías:
docs/
├── carrdduci-sys/ # Sistema CARRDUCI
├── carrdduci-sys-desarrollo/ # Desarrollo y arquitectura
├── docker/ # Contenedores
├── ubuntu-server/ # Servidores Linux
├── windows/ # Utilidades Windows
└── visual-studio-code/ # Configuración IDE
- 🧩 15 componentes reutilizables completamente documentados
- ⚙️ Entorno de desarrollo completamente automatizado
- 🐳 Docker y despliegue documentado
- 🧩 Component Domain Architecture - Implementación en progreso
- 📚 Documentación estandarizada con JSDoc - En proceso de completación
- 🔧 8 componentes restantes por documentar
- 📖 Documentación de APIs adicionales
- 🧪 Guías de testing Avanzado
- 🔄 Completar migración de arquitectura legacy
Esta documentación es el resultado del trabajo colaborativo del Equipo de Desarrollo CARRDUCI. Gracias a todos los contribuidores que han hecho posible esta arquitectura modular escalable.
¡Bienvenido al desarrollo del Sistema CARRDUCI! 🚀✨