Sistema de escritorio desarrollado en Python para la planificación automática de eventos con asignación inteligente de personal y recursos, evitando conflictos de horario y violaciones de restricciones.
El proyecto está orientado a entornos médicos, pero su arquitectura permite adaptarlo fácilmente a otros dominios.
- Creación y gestión de eventos
- Asignación automática de trabajadores según especialidad
- Asignación de recursos materiales
- Control de disponibilidad mediante planes de uso (
use_plan) - Búsqueda automática del próximo intervalo de tiempo disponible
- Persistencia de datos en archivos JSON
- Interfaz gráfica interactiva desarrollada con Flet
- Python 3.13.7
- Flet (interfaz gráfica)
- JSON (persistencia de datos)
Antes de ejecutar el proyecto, asegúrate de tener instalado:
- Python 3.10 o superior
- Flet 0.28.3 o superior
- pip (gestor de paquetes de Python)
Instala las dependencias ejecutando:
pip install -r requirements.txtEl punto de entrada del sistema es:
main.py
Para ejecutar la aplicación:
python main.py📦 sistema-planificacion-eventos
├── GUI/ # Elementos de la UI
├── core/ # Lógica del proyecto
├── data/ # Archivos JSON (persistencia)
│ ├── events.json
│ ├── personal.json
│ └── resources.json
├── requirements.txt
├── README.md
│── main.py # Punto de entrada
└── report.md
- El usuario crea un evento desde la interfaz gráfica
- Selecciona personal requerido por especialidad y recursos necesarios
- El sistema valida disponibilidad y conflictos
- Se asignan automáticamente trabajadores y recursos disponibles
- Se actualizan los planes de uso (
use_plan) - La información se guarda en archivos JSON
Opcionalmente, el sistema puede buscar automáticamente el próximo hueco disponible en función de una duración indicada.
Los datos se almacenan en archivos JSON independientes para:
- Eventos
- Trabajadores
- Recursos
Cada entidad mantiene un use_plan que registra los eventos en los que participa, garantizando consistencia y control de disponibilidad.
- Informe del proyecto: documento académico con el análisis, diseño e implementación del sistema.
- README.md: guía técnica para instalación y ejecución.
Dayan Rodríguez Pérez Estudiante de Ciencias de la Computación Universidad de La Habana
Proyecto funcional y extensible. Diseñado para futuras mejoras como:
- Exportación de eventos
- Soporte multiusuario
- Persistencia en base de datos
- Optimización del algoritmo de planificación
¡Gracias por revisar el proyecto! 🚀