Este repositorio contiene el código backend para una API de Datos Educativos, cuyo front-end puede consultarse en https://github.com/Vendetta0462/frontend-icfes_interactivo, que proporciona acceso a los resultados de las pruebas SABER 11 y SABER PRO en Colombia. La API está construida usando Python y Flask, e interactúa con una base de datos MySQL alojada en AWS.
- Nicolas Mantilla @Vendetta0462
- Hernan Rodriguez @andresrod2000
- Juan Jaimes @juanes2809
- Python 🐍
- Flask 🌶️
- MySQL Connector 🗄️
- AWS (EC2 para alojamiento, RDS para base de datos MySQL) 🚀
app.py
: El archivo principal de la aplicación Flask que define las rutas de la API y maneja las solicitudes.consultas.py
: Contiene funciones para ejecutar consultas a la base de datos y procesar datos.
La API proporciona varios endpoints para acceder a datos educativos. Aquí hay un breve resumen de las principales categorías:
/saber11/...
: Endpoints relacionados con los resultados de las pruebas SABER 11/saberpro/...
: Endpoints relacionados con los resultados de las pruebas SABER PRO/predict/...
: Endpoints para modelos predictivos (detalles por implementar)/chat
: Endpoint para integración con un chatbot Rasa
- Asegúrate de tener Python 3.x instalado en tu sistema.
- Instala las dependencias requeridas:
pip install requirements.txt
- Configura tu base de datos MySQL en AWS RDS y añade el archivo
config.py
con tus credenciales de base de datos. - Despliega la aplicación en una instancia EC2 de AWS.
- Configura tu grupo de seguridad EC2 para permitir tráfico entrante en el puerto 5000.
Para ejecutar la aplicación localmente para desarrollo:
python app.py
La API estará disponible en http://localhost:5000
.
Asegúrate de seguir las mejores prácticas de AWS para seguridad, especialmente cuando se trata de credenciales de base de datos y acceso a la API.
Si deseas contribuir a este proyecto, por favor haz un fork del repositorio y envía un pull request con tus cambios propuestos.