Sistema de análisis de datos para el monitoreo del programa bilingüe de la Secretaría de Educación de Río Negro.
Este proyecto es una aplicación web basada en Streamlit que proporciona análisis detallados sobre el desempeño de estudiantes y docentes en programas bilingües. Incluye datos de múltiples instituciones y períodos, con visualizaciones interactivas y métricas de rendimiento.
- Python 3.8 o superior
- MySQL 8.0 o superior
- pip (gestor de paquetes de Python)
git clone <repository-url>
cd Observatorio# Windows
python -m venv env
.\env\Scripts\Activate.ps1
# Linux/macOS
python3 -m venv env
source env/bin/activatepip install -r requirements.txtCopiar .env.example a .env y configurar:
cp .env.example .envEditar .env con credenciales de base de datos:
DB_USER=usuario_mysql
DB_PASS=contraseña
DB_HOST=localhost
DB_PORT=3306
DB_NAME=observatorio_bd
# Crear tablas
python data/imports/crear_tablas.py
# Importar datos
python data/imports/ejecutar_todas_las_importaciones.pystreamlit run app.pyLa aplicación estará disponible en http://localhost:8501
La aplicación contiene 23 dashboards organizados en 4 categorías:
-
Programa Comfenalco (1p-9p)
- Análisis por jornada, población, sede y nivel
-
Período 2021-2025 (10p-15p)
- Datos extendidos con análisis por grado e institución
-
Programa de Intensificación (16p-19p)
- Seguimiento del programa bilingüe intensivo
-
Francés Intensificación (20p-23p)
- Análisis específico del programa de francés
Observatorio/
├── app.py Punto de entrada de la aplicación
├── dashboard_config.py Configuraciones y componentes compartidos
├── requirements.txt Dependencias del proyecto
│
├── src/ Código fuente
│ ├── config/
│ │ └── logger_config.py Sistema de logging
│ ├── database/
│ │ ├── conexion.py Conexión con MySQL
│ │ ├── models.py Modelos SQLAlchemy
│ │ └── crear_tablas.py Scripts de inicialización
│ └── utils/ Funciones auxiliares
│
├── data/ Gestión de datos
│ ├── csv/ Archivos fuente en CSV
│ ├── imports/ Scripts de importación
│ ├── exports/ Datos exportados
│ └── verify/ Validación de datos
│
├── pages/ Dashboards Streamlit (23 archivos)
├── assets/ Recursos (logos, imágenes)
├── logs/ Registros de aplicación
│
└── .env.example Template de configuración
- Docentes: Información de docentes y su asignación
- Estudiantes_2016_2019: Datos históricos del período 2016-2019
- Estudiantes_2021_2025: Datos recientes del período 2021-2025
- Estudiantes_Colombo: Estudiantes del centro Colombo Americano
- Escuela_nueva: Estudiantes del programa Escuela Nueva
- Estudiantes_intensificacion: Datos del programa de intensificación
- Estudiantes_frances: Datos del programa de francés
- Grados_2021_2025: Información de grados por año
- Instituciones_2021_2025: Información de instituciones
- Análisis interactivo de datos de estudiantes y docentes
- Filtros dinámicos por población, institución, jornada y período
- Visualizaciones con gráficos y tablas
- Exportación de datos
- Cálculo de métricas y estadísticas
- Soporte para múltiples programas bilingües
- Crear archivo en
pages/con nombre:NNp-descripcion.py - Importar configuración base:
import streamlit as st
from dashboard_config import create_nav_buttons
from src.database.conexion import get_engine- Implementar funciones de carga de datos y visualización
- Colocar archivo CSV en
data/csv/ - Crear script de importación en
data/imports/ - Ejecutar script:
python data/imports/insertar_datos_nuevo.py# Limpiar caché de Streamlit
streamlit cache clear# Ver logs recientes
tail -f logs/observatorio.log# Exportar datos de base de datos
mysqldump -u usuario -p nombre_bd > backup.sql- Verificar credenciales en
.env - Confirmar que MySQL está ejecutándose
- Validar que la base de datos existe
- Verificar que entorno virtual está activado
- Ejecutar:
pip install -r requirements.txt
- Ejecutar scripts de importación
- Verificar archivos CSV en
data/csv/ - Revisar logs en
logs/
Para contribuir al proyecto:
- Crear rama:
git checkout -b feature/nueva-funcionalidad - Hacer cambios y commits:
git commit -m "Descripción del cambio" - Push a la rama:
git push origin feature/nueva-funcionalidad - Crear Pull Request
Este proyecto es propiedad de la Secretaría de Educación de Río Negro.
Para soporte y consultas, contactar al equipo de desarrollo.
- Eliminación de comentarios innecesarios y emojis
- Actualización de dependencias
- Optimización de queries
- Mejora en documentación
Ver CHANGELOG.md para historial completo de cambios.
- No modificar archivos en
env/- es el entorno virtual - Los logs se generan automáticamente en
logs/ - Las exportaciones se guardan en
data/exports/ - Respetar la estructura de directorios para mantenimiento