|
1 | 1 | <h1 align="center">🏥 MediTrack</h1> |
2 | 2 | <p align="center"> |
3 | | - <strong>Sistema Especializado de Gestión de Inventario para Postas de Salud</strong> |
| 3 | + <em>Sistema de Gestión de Inventario para Postas de Salud</em> |
4 | 4 | </p> |
5 | 5 |
|
6 | 6 | <p align="center"> |
7 | | - <img src="https://img.shields.io/badge/Java-21-orange?style=for-the-badge&logo=openjdk" alt="Java"> |
8 | | - <img src="https://img.shields.io/badge/JavaFX-21-blue?style=for-the-badge" alt="JavaFX"> |
9 | | - <img src="https://img.shields.io/badge/Maven-Build-green?style=for-the-badge&logo=apache-maven" alt="Maven"> |
10 | | - <img src="https://img.shields.io/badge/CI%2FCD-GitHub%20Actions-brightgreen?style=for-the-badge&logo=github-actions" alt="CI/CD"> |
| 7 | + <img src="https://img.shields.io/badge/Java-21-orange?style=flat-square&logo=openjdk" alt="Java"> |
| 8 | + <img src="https://img.shields.io/badge/JavaFX-21-blue?style=flat-square" alt="JavaFX"> |
| 9 | + <img src="https://img.shields.io/badge/AtlantaFX-Primer-6C63FF?style=flat-square" alt="AtlantaFX"> |
| 10 | + <img src="https://img.shields.io/badge/SQL%20Server-CC2927?style=flat-square&logo=microsoft-sql-server&logoColor=white" alt="SQL Server"> |
| 11 | + <img src="https://img.shields.io/badge/Maven-3.9-C71A36?style=flat-square&logo=apache-maven&logoColor=white" alt="Maven"> |
11 | 12 | </p> |
12 | 13 |
|
13 | 14 | --- |
14 | 15 |
|
15 | | -### 📝 Descripción |
16 | | -**MediTrack** es una solución robusta diseñada específicamente para la administración eficiente de recursos médicos en **Postas de Salud**. Su objetivo es garantizar la disponibilidad constante de suministros críticos, optimizar la trazabilidad de lotes y facilitar la toma de decisiones mediante una interfaz intuitiva de alta fidelidad visual. |
| 16 | +## 📝 Descripción |
17 | 17 |
|
18 | | ---- |
19 | | - |
20 | | -### ✨ Características Destacadas |
21 | | - |
22 | | -| Característica | Detalle | |
23 | | -| :--- | :--- | |
24 | | -| **📦 Catálogo de Productos** | Registro completo de medicamentos con códigos DIGEMID, categorías y unidades de medida. | |
25 | | -| **🧪 Dispensación Inteligente** | Algoritmo **FEFO** (First Expire, First Out) automático para asegurar el uso eficiente de lotes. | |
26 | | -| **💊 Transacciones ACID** | Motor de movimientos de inventario (Entradas/Salidas/Atenciones) con integridad total de datos. | |
27 | | -| **👥 Gestión de Pacientes** | Registro clínico y consulta de historial de atenciones integrado en el flujo de dispensación. | |
28 | | -| **🆔 IDs Secuenciales** | Sistema de identificadores legibles y descriptivos por sede (`CAT-001`, `PAC-001-000001`). | |
29 | | -| **🛡️ Seguridad & Usuarios** | Control de acceso basado en roles (RBAC) con identificación dinámica de jefaturas. | |
30 | | -| **📊 Dashboard Dinámico** | Métricas en tiempo real de salud de inventario, stock crítico y actividad diaria. | |
31 | | -| **🏢 Gestión de Sedes** | Control centralizado de múltiples postas médicas y sus responsables. | |
32 | | -| **🖥️ Interfaz Moderna** | Experiencia de usuario optimizada con *AtlantaFX* (Primer Theme) y soporte completo para **UTF-8**. | |
| 18 | +MediTrack administra recursos médicos en postas de salud. Garantiza disponibilidad de suministros, trazabilidad de lotes y toma de decisiones mediante una interfaz de escritorio moderna. |
33 | 19 |
|
34 | | ---- |
35 | | - |
36 | | -### 🛠️ Stack Tecnológico |
| 20 | +## 🛠️ Stack |
37 | 21 |
|
38 | | -- **Core:** Java 21 (LTS) |
39 | | -- **UI:** JavaFX 21 + **AtlantaFX** (Fluent/Minimalist Design) |
40 | | -- **Iconos:** Ikonli (FontAwesome 5 Packs) |
41 | | -- **Database:** SQL Server (Docker Container) |
42 | | -- **Testing:** JUnit 5 (Pruebas de Integración y Lógica) |
43 | | -- **Build & CI:** Maven + GitHub Actions |
| 22 | +- ☕ **Core:** Java 21 (Eclipse Adoptium) |
| 23 | +- 🎨 **UI:** JavaFX 21 + AtlantaFX (Primer Theme) |
| 24 | +- 🎯 **Iconos:** Ikonli (FontAwesome 5) |
| 25 | +- 🗄️ **Base de datos:** SQL Server (Docker) |
| 26 | +- 🔨 **Build:** Maven + GitHub Actions |
44 | 27 |
|
45 | | ---- |
| 28 | +## 🚀 Inicio Rápido |
46 | 29 |
|
47 | | -### 🚀 Guía de Inicio Rápido |
48 | | - |
49 | | -#### Requisitos |
50 | | -- [JDK 21+](https://adoptium.net/) |
51 | | -- [Maven 3.8+](https://maven.apache.org/download.cgi) |
52 | | -- [Docker & Docker Compose](https://www.docker.com/) |
53 | | - |
54 | | -#### Configuración de la Base de Datos (Docker) |
55 | | -Este proyecto utiliza SQL Server en un contenedor Docker para facilitar el desarrollo. |
| 30 | +**Requisitos:** JDK 21+, Maven 3.8+, Docker |
56 | 31 |
|
57 | 32 | ```bash |
58 | | -# 1. Crear archivo .env a partir del template (ya realizado por el asistente) |
59 | | -# cp .env.template .env |
60 | | - |
61 | | -# 2. Iniciar el contenedor de la base de datos |
| 33 | +# 1. Levantar SQL Server |
62 | 34 | docker-compose up -d |
63 | | -``` |
64 | | -*Nota: El primer inicio ejecuta automáticamente `meditrack_init.sql` que crea las tablas, agrega columnas faltantes (si actualiza desde una versión anterior) y carga los datos iniciales. Espere unos 45 segundos antes de ejecutar la aplicación.* |
65 | | - |
66 | | -*Para actualizar una base de datos existente, simplemente reinicie el contenedor con `docker-compose down && docker-compose up -d` - el script detectará y agregará automáticamente las columnas/tablas faltantes.* |
67 | 35 |
|
68 | | -#### Instalación y Ejecución |
69 | | -```bash |
70 | | -# 1. Compilar el proyecto |
| 36 | +# 2. Compilar y ejecutar |
71 | 37 | ./mvnw clean compile |
72 | | - |
73 | | -# 2. Ejecutar la aplicación |
74 | 38 | ./mvnw javafx:run |
75 | 39 | ``` |
76 | 40 |
|
77 | | -#### Ejecución de Pruebas |
78 | | -```bash |
79 | | -./mvnw test |
80 | | -``` |
| 41 | +> 💡 En Windows usar `mvnw.cmd`. El primer inicio tarda ~45s en inicializar la BD. |
81 | 42 |
|
82 | | ---- |
| 43 | +## 📂 Estructura |
83 | 44 |
|
84 | | -### 📂 Documentación Técnica |
85 | | -Para una inmersión profunda en el desarrollo, consulta nuestras guías: |
| 45 | +``` |
| 46 | +src/main/java/.../meditrackapp/ |
| 47 | +├── 📦 application/ # Casos de uso |
| 48 | +├── ⚙️ core/ # Config y utilidades |
| 49 | +├── 🧩 domain/ # Entidades y lógica de negocio |
| 50 | +├── 📋 features/ # Módulos (auth, inventory, patients, users...) |
| 51 | +├── 🔌 infrastructure/ # Persistencia JDBC |
| 52 | +└── 🧩 shared/ # Sidebar, navbar, componentes comunes |
| 53 | +``` |
| 54 | + |
| 55 | +## 📖 Documentación |
86 | 56 |
|
87 | | -* 📘 [**Arquitectura**](./docs/ARCHITECTURE.md): Estructura de paquetes, estrategia de IDs y transaccionalidad. |
88 | | -* 📋 [**Requerimientos Funcionales**](./docs/FUNCTIONAL_REQUIREMENTS.md): Estado actual de implementación de los módulos. |
89 | | -* 🎨 [**Guía de Diseño**](./docs/UI_GUIDE.md): Paleta de colores y componentes UI. |
90 | | -* 🧪 [**Testing y CI**](./docs/TESTING_CI.md): Estrategia de pruebas y automatización. |
| 57 | +- 📘 [Arquitectura](./docs/ARCHITECTURE.md) |
| 58 | +- 📋 [Requerimientos Funcionales](./docs/FUNCTIONAL_REQUIREMENTS.md) |
| 59 | +- 🎨 [Guía de Diseño UI](./docs/UI_GUIDE.md) |
| 60 | +- 🧪 [Testing y CI](./docs/TESTING_CI.md) |
91 | 61 |
|
92 | 62 | --- |
93 | | -<p align="center"> |
94 | | - Diseñado con 💙 para la mejora de la Salud Pública | 2026 |
95 | | -</p> |
| 63 | + |
| 64 | +<p align="center"><sub>© 2026 MediTrack — Diseñado con 💙 para la Salud Pública</sub></p> |
0 commit comments