2026-08-19 17:28:16 -04:00
2026-08-19 17:28:16 -04:00
2026-08-19 17:28:16 -04:00
2026-08-19 17:28:16 -04:00
2026-08-19 17:28:16 -04:00
2026-08-19 17:28:16 -04:00
2026-08-19 17:28:16 -04:00
2026-08-19 17:28:16 -04:00
2026-08-19 17:28:16 -04:00
2026-08-19 17:28:16 -04:00
2026-08-19 17:28:16 -04:00
2026-08-19 17:28:16 -04:00
2026-08-19 17:28:16 -04:00
2026-08-19 17:28:16 -04:00

🎖️ Sistema de Orden de Mérito - Ejército Bolivariano

Electron Node.js SQLite

📌 Descripción del Proyecto

El Sistema de Orden de Mérito es una aplicación de escritorio moderna y segura desarrollada bajo la tecnología Electron. Su principal función es gestionar, evaluar y procesar la clasificación del personal militar del Ejército Bolivariano.

El sistema permite importar listados de profesionales en formato Excel (.xlsx, .xls), procesar los datos de manera estructurada, generar rankings en tiempo real, visualizar el Top 10 de manera gráfica, listar al personal no recomendado y exportar los resultados automatizados en reportes PDF adaptados a los estándares de la institución.

📖 Biografía / Propósito

Este proyecto fue concebido y desarrollado con la misión de automatizar y dar total transparencia al proceso de evaluación y clasificación del personal militar activo. Al sistematizar la Orden de Mérito, la institución asegura que se reconozca el esfuerzo, la constancia y el desempeño del profesional, agilizando procesos administrativos que tradicionalmente requerían la revisión manual de amplios archivos. Este sistema representa un salto cualitativo hacia la modernización tecnológica y la eficiencia organizacional dentro del Ejército Bolivariano.

🎨 Arquitectura del Sistema (Gráfico)

graph TD
    A[Usuario / Administrador] -->|Interactúa| B(Interfaz de Usuario HTML/CSS/JS)
    B -->|Context Bridge / IPC| C{Main Process - main.js}
    
    C -->|Importar| D[excelProcessor.js]
    D -->|Archivos .xlsx / .xls| E[(Sistema de Archivos)]
    
    C -->|Consultas y Guardado| F[database.js]
    F -->|better-sqlite3| G[(Base de Datos SQLite)]
    
    C -->|Generar Reporte| H[pdfGenerator.js]
    H -->|PDFKit| I[Archivo .pdf Final]
    
    B -->|Gráficas| J[Chart.js]

🛠️ Tecnologías (Stack)

El proyecto utiliza un conjunto sólido de herramientas modernas de JavaScript:

  • Core de la Aplicación: Electron + Node.js
  • Base de Datos: SQLite usando better-sqlite3 para máxima rápidez y confiabilidad.
  • Procesamiento de Archivos: exceljs para la lectura y parseo de plantillas de Excel.
  • Generación de Reportes: pdfkit para la creación nativa y diseño de PDFs.
  • Visualización de Datos: chart.js para los gráficos estadísticos e indicadores visuales.
  • Empaquetado: electron-forge y electron-builder para la compilación de ejecutables portables.

📋 Requerimientos Previos

Para ejecutar o contribuir a este entorno de desarrollo, asegúrese de cumplir con los siguientes requisitos en su sistema local:

  • Node.js: Versión 16.x o superior.
  • npm: Administrador de paquetes (incluido con Node.js).
  • Sistema Operativo: Windows (x64 / ia32). Las arquitecturas se pueden expandir según sea necesario.
  • Git: Opcional, pero recomendado para el control de versiones.

🚀 Instalación y Uso Local

  1. Clonar o descargar este repositorio en su entorno local.
  2. Abrir una terminal en el directorio del proyecto y ejecutar el siguiente comando para instalar las dependencias:
    npm install
    
  3. (Opcional) Si en Windows better-sqlite3 requiere re-compilar los binarios nativos después de la instalación inicial:
    npm run postinstall
    
  4. Ejecutar en modo de desarrollo:
    npm start
    

📦 Compilación (Build)

Para empaquetar el proyecto en un archivo ejecutable (Windows Installer / Portable), use los comandos preconfigurados:

  • Empaquetar usando Electron Builder:
    npm run build
    
  • Empaquetar usando Electron Forge:
    npm run make
    
    Los archivos resultantes se encontrarán dentro de la carpeta dist/ o out/.

📁 Estructura del Proyecto

📦 ProyectosElectron2
 ┣ 📂 assets              # Íconos, imágenes e identidad visual corporativa
 ┣ 📂 data                # Almacenamiento local de la DB SQLite y estado
 ┣ 📂 src                 # Archivos frontend: UI (Vistas), CSS, JS nativo y Audios
 ┣ 📜 main.js             # Proceso principal de Electron y manejo IPC
 ┣ 📜 preload.js          # Puente seguro (Context Isolation)
 ┣ 📜 database.js         # Lógica de operaciones CRUD en SQLite
 ┣ 📜 excelProcessor.js   # Algoritmos para leer e interpretar las plantillas Excel
 ┣ 📜 pdfGenerator.js     # Lógica de renderizado y maquetado de los reportes PDF
 ┣ 📜 forge.config.js     # Configuración para la empaquetación mediante Forge
 ┣ 📜 package.json        # Dependencias y scripts
 ┗ 📜 README.md           # Documentación principal

Copyright © 2024 Ejército Bolivariano.
Sistema diseñado exclusivamente para la clasificación por orden de mérito.

Description
No description provided
Readme 3.4 MiB
Languages
JavaScript 76.1%
CSS 18.4%
HTML 5.5%