# DTIC Bitácoras - Sistema de Gestión Integral ## 📋 Descripción del Sistema DTIC Bitácoras es un sistema web completo de gestión de recursos tecnológicos y tareas para el Departamento de Tecnología de la Información y Comunicación (DTIC). Desarrollado con tecnologías modernas, permite administrar eficientemente el inventario de hardware/software, asignar recursos a usuarios, gestionar tareas técnicas y mantener un registro completo de todas las operaciones. ### 🎯 Propósito y Alcance El sistema está diseñado para: - **Gestión de Recursos**: Controlar inventario de hardware, software, equipos de red y herramientas - **Administración de Personal**: Gestionar técnicos del DTIC con diferentes roles y permisos - **Asignación de Recursos**: Vincular recursos tecnológicos con usuarios finales - **Seguimiento de Tareas**: Administrar y monitorear tareas técnicas asignadas a técnicos - **Auditoría Completa**: Mantener registro detallado de todas las operaciones del sistema - **Reportes y Estadísticas**: Generar informes sobre el estado del inventario y rendimiento - **Framework de Prompts DTIC**: Sistema automatizado de gestión de flujos de trabajo y documentación para procesos de desarrollo optimizados ## 🚀 Inicio Rápido ### Opción 1: Usando Script Optimizado (Recomendado) ```bash # Configuración inicial automática (primera ejecución) ./app-run.sh # Iniciar aplicación ./app-run.sh start # Ver estado ./app-run.sh status # Ver logs (requiere aplicación ejecutándose) ./app-run.sh logs # Crear backup ./app-run.sh bd-backup # Detener aplicación ./app-run.sh stop ``` ### Opción 2: Usando Docker Compose Manual ```bash # Clonar el repositorio git clone cd dtic-bitacoras-php/_app-npm # Ejecutar la aplicación completa docker-compose up --build # Acceder a la aplicación # Frontend: http://localhost:5173 # Backend API: http://localhost:3001 # Base de datos: localhost:5432 ``` ## 🔧 Configuración para Despliegue Remoto ### 1. Variables de Entorno Copia el archivo de ejemplo y configura tus variables: ```bash cp .env.example .env # Edita .env según tus necesidades ``` ### 2. Configuración por Entorno El archivo `docker-compose.override.yml` permite personalizar la configuración: ```yaml # Variables disponibles en .env POSTGRES_PORT=5432 API_PORT=3001 FRONTEND_PORT=5173 NODE_ENV=production # ... etc ``` ### 3. Despliegue en Producción ```bash # Configurar variables de producción en .env NODE_ENV=production VITE_API_URL=https://tu-dominio.com/api # Desplegar make up ``` ## 🏗️ Arquitectura del Sistema ### Arquitectura General El sistema sigue una arquitectura de **3 capas** con contenedores Docker: ``` ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Frontend │ │ Backend │ │ Database │ │ React/Vite │◄──►│ Node.js/Express │◄──►│ PostgreSQL │ │ Puerto 5173 │ │ Puerto 3001 │ │ Puerto 5432 │ └─────────────────┘ └─────────────────┘ └─────────────────┘ ``` ### Componentes Principales #### 🖥️ Frontend (React + Vite) - **Framework**: React 18 con TypeScript - **Estado Global**: Zustand para gestión de estado - **UI Components**: Bootstrap + FontAwesome - **Rutas**: React Router con protección de rutas - **Configuración**: Sistema de entidades dinámicas vía YAML - **Versionado Dinámico**: Carga automática de versión desde package.json mediante Vite config #### 🚀 Backend (Node.js + Express) - **Runtime**: Node.js 18 con Alpine Linux - **Framework**: Express.js con middleware avanzado - **Base de Datos**: PostgreSQL con pool de conexiones - **Autenticación**: JWT con bcrypt para hashing - **API**: RESTful con validación de datos - **Seguridad**: Helmet, CORS, Rate Limiting #### 🗄️ Base de Datos (PostgreSQL) - **Motor**: PostgreSQL 15 - **Esquema**: `dtic` con tablas normalizadas - **Índices**: Optimizados para búsquedas comunes - **Auditoría**: Triggers automáticos para `updated_at` - **Datos de Ejemplo**: Incluye usuarios y recursos de prueba ### Entidades del Sistema #### 👥 Técnicos Los **técnicos** son los profesionales especializados del DTIC que resuelven las tareas asignadas al departamento. Son los responsables directos de ejecutar y completar las actividades del sistema. **Características principales:** - **ID único**: Identificador único del técnico - **Información personal**: Nombre, apellido, email, teléfono - **Rol**: Administrador, Técnico, Visualizador - **Departamento**: Área específica dentro del DTIC - **Estado**: Activo, Inactivo - **Tareas asignadas**: Número y lista de tareas bajo su responsabilidad - **Historial de actividad**: Registro de tareas completadas y en progreso - **Permisos**: Nivel de acceso al sistema según su rol **Roles definidos:** - **Administrador**: Acceso completo, gestión de usuarios y configuración - **Técnico**: Ejecución de tareas, gestión de recursos asignados - **Visualizador**: Solo lectura, acceso a reportes y consultas #### 📦 Recursos Los **recursos** son los elementos físicos o digitales que utiliza el DTIC para realizar sus tareas operativas. Cada recurso tiene características específicas y puede estar asignado a usuarios para su utilización. **Características principales:** - **ID único**: Identificador alfanumérico único (ej: RES-001) - **Nombre**: Descripción clara del recurso - **Categoría**: Clasificación jerárquica (Hardware, Software, Redes, Seguridad, Herramientas) - **Estado**: Disponible, Asignado, Mantenimiento, Retirado - **Ubicación**: Lugar físico donde se encuentra el recurso - **Información técnica**: Modelo, serie, especificaciones técnicas - **Historial de uso**: Registro de tareas en las que ha sido utilizado - **Última tarea**: Información de la tarea más reciente donde participó **Ejemplos de recursos:** - Laptops, proyectores, servidores (Hardware) - Licencias de software, antivirus (Software) - Routers, switches, cables (Redes) - Certificados, firewalls (Seguridad) - Kits de herramientas, testers (Herramientas) #### 👤 Usuarios Relacionados Los **usuarios** son las personas que trabajan con los recursos del DTIC en sus actividades diarias. A diferencia de los técnicos, no resuelven tareas del sistema sino que utilizan los recursos relacionados para realizar su trabajo operativo. **Características principales:** - **ID único**: Identificador único del usuario - **Información personal**: Nombre, apellido, email, teléfono - **Rol operativo**: Operador, Supervisor, Analista, Invitado - **Departamento**: Área específica donde opera - **Estado**: Activo, Inactivo - **Recursos relacionados**: Lista de recursos bajo su responsabilidad - **Historial de uso**: Registro de recursos utilizados **Roles operativos:** - **Operador**: Uso básico de recursos asignados - **Supervisor**: Coordinación de recursos y supervisión de operadores - **Analista**: Análisis de datos y reportes usando recursos específicos - **Invitado**: Acceso limitado a recursos específicos por tiempo determinado #### 📋 Tareas Las **tareas** son las actividades específicas que debe realizar el DTIC, asignadas a técnicos para su resolución. Cada tarea tiene un ciclo de vida completo desde su creación hasta su finalización. **Características principales:** - **ID único**: Identificador alfanumérico único (ej: TSK-001) - **Título**: Descripción breve de la tarea - **Descripción**: Detalles completos de lo que se debe realizar - **Estado**: Pendiente, En Progreso, Completada, Cancelada - **Prioridad**: Baja, Media, Alta, Urgente - **Técnico asignado**: Profesional responsable de la ejecución - **Fechas**: Creación, inicio, vencimiento, finalización - **Historial de actividad**: Registro detallado de todos los movimientos - **Recursos utilizados**: Lista de recursos que participaron en la tarea **Estados del ciclo de vida:** - **Pendiente**: Esperando asignación de técnico - **En Progreso**: Siendo ejecutada por el técnico asignado - **Completada**: Finalizada exitosamente - **Cancelada**: Terminada sin completar por diversos motivos #### 📊 Historial de Auditoría El **historial de auditoría** registra todas las acciones realizadas en el sistema para mantener un registro completo de cambios y actividades. **Características principales:** - **Usuario**: Quién realizó la acción - **Acción**: Tipo de operación (crear, modificar, eliminar, consultar) - **Entidad**: Objeto afectado (tarea, recurso, usuario, etc.) - **Fecha/Hora**: Timestamp preciso de la acción - **Detalles**: Información específica de lo que cambió - **IP**: Dirección desde donde se realizó la acción #### 📈 Reportes y Análisis Los **reportes** son consultas estructuradas que permiten analizar el estado y rendimiento del sistema DTIC Bitácoras. **Tipos de reportes:** - **Tareas**: Estado, productividad, tiempos de resolución - **Recursos**: Utilización, disponibilidad, mantenimiento - **Usuarios**: Actividad, asignaciones, rendimiento - **Sistema**: Estadísticas generales, logs de auditoría ### Funcionalidades Clave #### 🔐 Sistema de Autenticación - Login seguro con JWT - Roles y permisos granulares - Cambio de contraseña - Sesiones persistentes #### 📊 Dashboard y Estadísticas - Métricas en tiempo real - Gráficos de estado de recursos - Contadores de tareas por estado - Información consolidada del sistema #### 🔍 Gestión Dinámica de Entidades - Sistema configurable vía archivos YAML - Formularios dinámicos - Tablas con filtros y búsqueda - Modales para acciones específicas #### 📈 Reportes y Análisis - Estados de proyectos - Calendarios de tareas - Reportes personalizados - Exportación de datos ### 🔢 Sistema de Versionado Dinámico El sistema implementa un mecanismo de versionado dinámico que garantiza la consistencia de versiones en toda la aplicación: #### 📋 Carga Automática de Versión - **Configuración Vite**: El archivo `vite.config.ts` lee automáticamente la versión desde `package.json` - **Variable Global**: Define `import.meta.env.VERSION` disponible en todo el frontend - **Actualización Automática**: Cambios en `package.json` se reflejan inmediatamente en la interfaz #### 🎨 Visualización en Interfaz - **Badge de Versión**: Se muestra en la barra de navegación principal junto al logo - **Formato**: `v{versión}` (ej: v1.7.0) - **Estilos**: Badge moderno con gradiente y efectos hover - **Ubicación**: Navbar superior, siempre visible para usuarios autenticados #### 🔄 Mantenimiento de Versiones - **Semantic Versioning**: Seguimiento de cambios según MAJOR.MINOR.PATCH - **CHANGELOG**: Registro detallado de cambios por versión - **Consistencia**: Versiones sincronizadas entre package.json, documentación y código ## 📁 Estructura del Proyecto ``` _app-npm/ ├── backend/ # API REST Node.js/Express │ ├── src/ │ │ ├── routes/ # Endpoints por entidad │ │ │ ├── auth.js # Autenticación │ │ │ ├── tecnicos.js # Gestión de técnicos │ │ │ ├── recursos.js # Gestión de recursos │ │ │ ├── tareas.js # Gestión de tareas │ │ │ └── usuarios_relacionados.js # Gestión de usuarios │ │ ├── middleware/ # Middleware de seguridad │ │ │ └── auth.js # Verificación JWT │ │ └── server.js # Servidor principal │ ├── Dockerfile # Contenedor backend │ └── package.json # Dependencias Node.js ├── frontend/ # SPA React/Vite │ ├── src/ │ │ ├── components/ # Componentes reutilizables │ │ │ ├── common/ # Componentes genéricos │ │ │ ├── layout/ # Layout y navegación │ │ │ └── auth/ # Componentes de auth │ │ ├── pages/ # Páginas principales │ │ │ ├── Dashboard.tsx # Dashboard principal │ │ │ ├── EntityPage.tsx # Páginas dinámicas │ │ │ ├── Login.tsx # Página de login │ │ │ └── Reportes.tsx # Reportes del sistema │ │ ├── stores/ # Estado global (Zustand) │ │ │ ├── authStore.ts # Estado de autenticación │ │ │ └── genericEntityStore.ts # Estado de entidades │ │ ├── config/ # Configuración │ │ │ └── entities.yml # Definición de entidades │ │ └── utils/ # Utilidades │ ├── Dockerfile # Contenedor frontend │ ├── package.json # Dependencias frontend │ └── vite.config.ts # Configuración Vite ├── docker/ # Configuración Docker │ └── init.sql # Inicialización BD ├── docker-compose.yml # Orquestación de servicios ├── docker-compose.override.yml # Override por entorno ├── .env.example # Variables de entorno ├── app-run.sh # Script principal optimizado ├── app-run_lib.sh # Biblioteca de funciones compartidas ├── app-run_deps.sh # Gestión de dependencias del sistema └── README.md # Esta documentación ``` ## 🛠️ Comandos Disponibles ### Script Optimizado app-run.sh ```bash ./app-run.sh # Menú interactivo completo ./app-run.sh start # Iniciar aplicación ./app-run.sh stop # Detener aplicación ./app-run.sh restart # Reiniciar aplicación ./app-run.sh status # Ver estado detallado ./app-run.sh bd-backup # Crear backup de base de datos ./app-run.sh bd-restore # Restaurar backup de base de datos ``` ### Docker Compose ```bash docker-compose up -d # Iniciar en background docker-compose up --build # Construir e iniciar docker-compose down # Detener docker-compose logs -f # Ver logs en tiempo real docker-compose ps # Ver estado docker-compose exec api sh # Acceder al shell del API docker-compose exec postgres bash # Acceder a PostgreSQL ``` ## 🔍 Solución de Problemas ### Error "NetworkError when attempting to fetch resource" 1. **Verificar configuración CORS**: Asegurarse de que el backend permita el origen del frontend 2. **Verificar VITE_API_URL**: Confirmar que apunte al servidor backend correcto 3. **Verificar conectividad**: Probar que el backend esté ejecutándose y accesible ### Puertos Ocupados Si los puertos por defecto están ocupados, modificalos en `.env`: ```env POSTGRES_PORT=5433 API_PORT=3002 FRONTEND_PORT=5174 ``` ### Problemas de Base de Datos ```bash # Ver logs de PostgreSQL make logs-db # Acceder a la base de datos make dev-db # Recrear base de datos docker-compose down -v make up ``` ## 🔒 Seguridad ### Producción - Cambia `JWT_SECRET` por una clave segura - Cambia `POSTGRES_PASSWORD` por una contraseña fuerte - Configura `NODE_ENV=production` - Usa HTTPS en producción - Configura firewall para exponer solo los puertos necesarios ### Variables Sensibles Nunca commits las siguientes variables al repositorio: - `JWT_SECRET` - `POSTGRES_PASSWORD` - Cualquier clave API ## 📊 Monitoreo ### Health Checks ```bash make health-check ``` ### Logs ```bash make logs # Todos los logs make logs-api # Solo API make logs-frontend # Solo frontend make logs-db # Solo base de datos ``` ### Estado de Contenedores ```bash make status ``` ## 🔄 Backup y Restauración ### Crear Backup ```bash make backup # Los backups se guardan en ./backups/ ``` ### Restaurar Backup ```bash make restore # Selecciona el archivo de backup del listado ``` ## 🐳 Docker ### Imágenes - **PostgreSQL**: `postgres:15-alpine` - **API**: `node:18-alpine` con aplicación Node.js - **Frontend**: `node:18-alpine` con aplicación React/Vite ### Volúmenes - `postgres_data`: Datos persistentes de PostgreSQL - `./backups`: Backups de base de datos - `./logs`: Logs de la aplicación ### Redes - `dtic_network`: Red interna para comunicación entre servicios ## 🧪 Desarrollo y Testing ### Entorno de Desarrollo #### Configuración Inicial ```bash # Clonar repositorio git clone cd dtic-bitacoras-php/_app-npm # Configuración automática ./setup.sh # O configuración manual make setup ``` #### Ejecución en Modo Desarrollo ```bash # Todos los servicios make up # Solo frontend (puerto 5173) make dev-frontend # Solo backend (puerto 3001) make dev-backend # Acceder a base de datos make dev-db ``` #### Desarrollo con Hot Reload - **Frontend**: Cambios automáticos con Vite HMR - **Backend**: Reinicio automático con nodemon - **Base de Datos**: Persistente con volúmenes Docker ### Testing #### Ejecutar Tests ```bash # Suite completa make test # Tests específicos make test-backend # Tests del backend make test-frontend # Tests del frontend # Tests con coverage make test-coverage ``` #### Tipos de Tests - **Unit Tests**: Componentes individuales y funciones utilitarias - **Integration Tests**: Endpoints de API y interacciones con BD - **E2E Tests**: Flujos completos de usuario con Playwright/Cypress ### Debugging #### Logs en Tiempo Real ```bash # Todos los servicios make logs # Servicio específico make logs-api # Backend make logs-frontend # Frontend make logs-db # Base de datos ``` #### Acceso a Contenedores ```bash # Shell en backend docker-compose exec api sh # PostgreSQL CLI docker-compose exec postgres psql -U dtic_user -d dtic_bitacoras # Inspeccionar red docker network inspect dtic_bitacoras_dtic_network ``` ### Base de Datos de Desarrollo #### Conexión Directa ```bash # Desde host psql -h localhost -p 5432 -U dtic_user -d dtic_bitacoras # Desde contenedor make dev-db ``` #### Datos de Prueba La base de datos incluye datos de ejemplo: - **7 Técnicos**: Admin, técnicos y visualizadores - **6 Recursos**: Hardware, software y herramientas - **5 Usuarios Relacionados**: Personal administrativo - **Asignaciones**: Recursos vinculados a usuarios #### Reset de Datos ```bash # Recrear base de datos make clean make up # O desde contenedor docker-compose exec postgres psql -U dtic_user -d dtic_bitacoras -c "DROP SCHEMA dtic CASCADE; CREATE SCHEMA dtic;" ``` ## 🤝 Contribución y Desarrollo ### Flujo de Trabajo 1. **Fork y Clone** ```bash git clone cd dtic-bitacoras-php/_app-npm git checkout -b feature/nueva-funcionalidad ``` 2. **Desarrollo** ```bash # Instalar dependencias make setup # Ejecutar en desarrollo make up # Tests continuos make test-watch ``` 3. **Commits y Pull Request** ```bash git add . git commit -m "feat: descripción de la funcionalidad" git push origin feature/nueva-funcionalidad # Crear PR en GitHub ``` ### Estándares de Código #### Frontend (TypeScript/React) - **Linter**: ESLint con reglas de Airbnb - **Formatter**: Prettier - **Tipos**: TypeScript estricto - **Componentes**: Funcionales con hooks - **Estado**: Zustand para estado global #### Backend (Node.js) - **Linter**: ESLint Node.js - **Estructura**: MVC con separación de responsabilidades - **Validación**: Joi para schemas de datos - **Errores**: Manejo centralizado de errores - **Logs**: Winston para logging estructurado #### Base de Datos - **Migrations**: Versionado de schema - **Seeds**: Datos de prueba consistentes - **Índices**: Optimización de consultas - **Constraints**: Integridad referencial ### Documentación #### Código - **JSDoc**: Comentarios en funciones complejas - **README**: Actualización de documentación - **API Docs**: Swagger/OpenAPI para endpoints #### Commits - **Conventional Commits**: `feat:`, `fix:`, `docs:`, `refactor:` - **Descripciones**: Claras y específicas - **Issues**: Referencia a issues relacionados ## 📋 API Reference ### Endpoints Principales #### Autenticación ``` POST /api/auth/login # Login de usuario POST /api/auth/logout # Logout (cliente-side) GET /api/auth/verify # Verificar token ``` #### Técnicos ``` GET /api/tecnicos # Listar técnicos POST /api/tecnicos # Crear técnico PUT /api/tecnicos/:id # Actualizar técnico DELETE /api/tecnicos/:id # Eliminar técnico PATCH /api/tecnicos/:id/toggle # Activar/desactivar ``` #### Recursos ``` GET /api/recursos # Listar recursos POST /api/recursos # Crear recurso PUT /api/recursos/:id # Actualizar recurso DELETE /api/recursos/:id # Eliminar recurso POST /api/recursos/:id/assign # Asignar a usuario DELETE /api/recursos/:id/unassign # Desasignar ``` #### Tareas ``` GET /api/tareas # Listar tareas POST /api/tareas # Crear tarea PUT /api/tareas/:id # Actualizar tarea DELETE /api/tareas/:id # Eliminar tarea ``` #### Usuarios Relacionados ``` GET /api/usuarios_relacionados # Listar usuarios POST /api/usuarios_relacionados # Crear usuario PUT /api/usuarios_relacionados/:id # Actualizar usuario DELETE /api/usuarios_relacionados/:id # Eliminar usuario ``` ### Configuración Dinámica ``` GET /api/config/entities.yml # Configuración de entidades ``` ## 🔧 Configuración Avanzada ### Variables de Entorno | Variable | Descripción | Default | |----------|-------------|---------| | `NODE_ENV` | Ambiente (development/production) | development | | `PORT` | Puerto del backend | 3001 | | `DATABASE_URL` | URL de conexión PostgreSQL | - | | `JWT_SECRET` | Clave secreta para JWT | - | | `JWT_EXPIRES_IN` | Expiración del token | 24h | | `CORS_ORIGIN` | Origen permitido para CORS | * | ### Docker Compose Overrides ```yaml # docker-compose.override.yml services: api: environment: NODE_ENV: production JWT_SECRET: ${JWT_SECRET} ports: - "80:3001" postgres: environment: POSTGRES_PASSWORD: ${DB_PASSWORD} ``` ## 📊 Monitoreo y Métricas ### Health Checks - **Endpoint**: `GET /health` - **Base de Datos**: Verificación de conexión - **Servicios**: Estado de dependencias ### Métricas de Rendimiento - **Response Times**: Tiempos de respuesta por endpoint - **Database Queries**: Consultas lentas y optimización - **Memory Usage**: Uso de memoria por contenedor - **Error Rates**: Tasa de errores por servicio ## 🚨 Solución de Problemas Comunes ### Problemas de Conexión ```bash # Verificar servicios docker-compose ps # Logs de errores make logs # Reiniciar servicios make restart ``` ### Problemas de Base de Datos ```bash # Verificar conexión make health-check # Reset de datos make clean && make up ``` ### Problemas de Frontend ```bash # Limpiar cache rm -rf node_modules/.vite make dev-frontend ``` ## 📞 Soporte y Contacto ### Canales de Soporte - **Issues**: GitHub Issues para bugs y features - **Discussions**: GitHub Discussions para preguntas - **Wiki**: Documentación detallada en GitHub Wiki ### Reportar Bugs 1. Verificar si ya existe el issue 2. Incluir pasos para reproducir 3. Adjuntar logs relevantes 4. Especificar versión y entorno ### Solicitar Features 1. Describir la funcionalidad deseada 2. Explicar el caso de uso 3. Proponer implementación si es posible ## 📚 Evolución del Proyecto ### Antecedentes Este proyecto representa la evolución completa del sistema DTIC Bitácoras, desde un enfoque inicial basado en PHP/MySQL hasta la implementación actual con tecnologías modernas React/Node.js/PostgreSQL. ### Fases de Desarrollo #### **Fase 1: Fundación PHP (2025-10)** - **Arquitectura**: HTML/JS/PHP/MySQL con Docker - **Alcance**: Desarrollo de interfaces básicas y configuración de contenedores - **Estado**: ✅ Completado - Etapas 1 y 2 del plan original - **Resultado**: Base sólida para la evolución tecnológica - **Tareas Clave**: Configuración Docker, maquetación interfaz, auto-hide navbar #### **Fase 2: Migración Tecnológica (2025-11)** - **Arquitectura**: React/Node.js/PostgreSQL con Docker - **Alcance**: Reimplementación completa con tecnologías modernas - **Estado**: ✅ Completado - Sistema 100% funcional (v1.2.0) - **Resultado**: Aplicación full-stack moderna y escalable - **Tareas Clave**: APIs RESTful, autenticación JWT, gestión entidades CRUD ### Metodología de Desarrollo El proyecto se desarrolló siguiendo una metodología estructurada: 1. **Análisis y Planificación**: Definición de entidades y arquitectura 2. **Implementación por Etapas**: Desarrollo incremental con hitos claros 3. **Migración Tecnológica**: Transición de PHP a Node.js/React 4. **Optimización Continua**: Mejoras en scripts, documentación y procesos ### Tecnologías Evolutivas - **Inicial**: PHP 8.1, MySQL 8.0, HTML5/CSS3/JS, Bootstrap 5 - **Actual**: React 18, Node.js 18, PostgreSQL 15, TypeScript, Docker ### 📋 Resumen de Tareas Completadas #### **Estimación de Versión (2025-11-04)** - ✅ Análisis completo de evolución del proyecto - ✅ Determinación de versión 1.1.0 según Semantic Versioning - ✅ Justificación técnica por componentes MAJOR/MINOR/PATCH - ✅ Planificación de versiones futuras (1.2.0, 1.3.0, 2.0.0) #### **Optimización de Scripts (2025-11-04)** - ✅ Script app-run.sh completamente optimizado - ✅ Modo dual: interactivo + parámetros start/stop/restart/status - ✅ Verificación robusta de dependencias (Docker, docker-compose) - ✅ Validación completa de conectividad PostgreSQL - ✅ Cleanup automático de recursos Docker #### **Reorganización de Documentación (2025-11-04)** - ✅ CHANGELOG.md movido a _app-npm/ para centralización - ✅ README.md histórico archivado en _basurero/ como referencia - ✅ Estructura de documentación consolidada - ✅ Navegabilidad mejorada para desarrolladores #### **Enriquecimiento con Información Histórica (2025-11-04)** - ✅ Sección "Entidades del Sistema" enriquecida con detalles técnicos - ✅ Nueva sección "Evolución del Proyecto" documentada - ✅ Información institucional completa del autor agregada - ✅ Contexto académico de UTN FR La Rioja incorporado --- ## 👨‍💻 Autor y Desarrollo **Desarrollado por:** Lic. Ricardo MONLA **Institución:** Universidad Tecnológica Nacional - Facultad Regional La Rioja **Departamento:** Departamento de Servidores, Dirección de TIC **Proyecto:** Sistema DTIC Bitácoras v1.7.0 **Fecha:** Noviembre 2025 ### Contacto Para soporte técnico o consultas sobre el desarrollo del sistema, contactar al departamento DTIC de la UTN FR La Rioja. ## 🔄 Cambios Recientes y Mantenimiento ### Últimas Actualizaciones (2025-11-04) - ✅ **Versión 1.1.0** establecida según Semantic Versioning - ✅ **Script app-run.sh** completamente optimizado con modos duales - ✅ **Documentación reorganizada** y centralizada en _app-npm/ - ✅ **Información histórica** incorporada y enriquecida - ✅ **Identidad institucional** completa documentada ### Próximas Versiones Planificadas - **v1.2.0**: Calendario interactivo completo + sistema de reportes - **v1.3.0**: Notificaciones en tiempo real + filtros avanzados - **v2.0.0**: Multi-tenancy + APIs públicas ### Mantenimiento y Soporte - **Repositorio**: Gestión completa con Git y Conventional Commits - **Documentación**: README.md + CHANGELOG.md actualizados - **Scripts**: Automatización completa con app-run.sh optimizado - **Soporte**: Departamento DTIC - UTN FR La Rioja --- **Desarrollado por:** Lic. Ricardo MONLA **Institución:** Universidad Tecnológica Nacional - Facultad Regional La Rioja **Departamento:** Departamento de Servidores, Dirección de TIC **Proyecto:** Sistema DTIC Bitácoras v1.7.0 **Última actualización:** Noviembre 2025