Aplicación de escritorio 100% offline para intervención y rehabilitación cognitiva y del lenguaje. Diseñada para ofrecer una experiencia libre de sobrecarga cognitiva a los pacientes y garantizar la máxima privacidad de los datos clínicos.
| Componente | Tecnología |
|---|---|
| Lenguaje | Python 3.11+ |
| GUI | PyQt6 (modo claro/oscuro nativo) |
| Persistencia | SQLite local (preparado para migrar a pysqlcipher3) |
| Multimedia | Pygame (audio in-memory) + Pillow |
| Distribución | PyInstaller + Inno Setup ✅ |
margoth/
├── data/ # Base de datos SQLite local
├── assets/ # Estilos QSS y recursos UI
│ └── styles/
│ ├── light.qss
│ └── dark.qss
├── media/ # Fotos y audios locales de pacientes
├── src/
│ ├── main.py # Entry point
│ ├── models/ # Lógica de datos (BD y Cifrado)
│ ├── views/ # Componentes PyQt6
│ ├── controllers/ # Lógica de negocio
│ └── utils/ # Helpers (Gestor de temas, Audio, PathResolver)
├── build_exe.py # Script de compilación PyInstaller
├── margoth_installer.iss # Script de Inno Setup
├── requirements.txt
└── README.md
- Estructura de directorios MVC
- Entry point con PyQt6
- Toggle dark/light mode
- Estilos QSS accesibles
- Modelo de datos para pacientes
- Base SQLite cifrada (pysqlcipher3)
- Carga de medios (fotos/audios)
- Registro de pacientes
- Carga de material multimedia
- Navegación SPA entre vistas
- Tableros CAA (Comunicación Aumentativa y Alternativa)
- Ejercicios semánticos evolutivos
- Importación segura de medios por paciente
- Registro de medios en SQLite
- Interfaz de asignación de medios a grilla 2x2
- Persistencia de configuración en
caa_boards.json - Navegación limpia desde Dashboard
- Estímulo visual central con 3 opciones de respuesta
- Medición de tiempo de reacción con
time.perf_counter() - Registro de aciertos/fallos en tabla
exercise_metrics
- Helper de rutas
PathResolverpara modo dev/compilado - Script de build PyInstaller (
build_exe.py) - Script de Inno Setup (
margoth_installer.iss) - Verificación de creación de
data/ymedia/junto al binario - Validación de ejecución del ejecutable compilado (
Margoth.exe)
Tras ejecutar Margoth.exe en dist/Margoth/:
dist/Margoth/
├── data/
│ └── margoth.db # BD creada automáticamente
├── media/ # Carpeta lista para multimedia
├── _internal/ # Dependencias empaquetadas
└── Margoth.exe # Binario aislado
El PathResolver confirma que las rutas se resuelven correctamente usando sys.executable como base en modo frozen.
pip install -r requirements.txt
python src/main.pypip install pyinstaller
python build_exe.pyEl ejecutable se generará en dist/Margoth/.
- Instalar Inno Setup.
- Abrir
margoth_installer.issen Inno Setup. - Compilar para obtener
dist/Margoth_Setup.exe.
- Cero sobrecarga cognitiva: Interfaces minimalistas para pacientes (Teoría de Mayer)
- Accesibilidad: Alto contraste, tipografías escalables (Segoe UI 12pt+)
- Privacidad: 100% offline, datos locales cifrados
- Personalización: Soporte para fotos y audios del entorno del paciente
- Carlos G - Creador y desarrollador principal
MIT