EduGraph Platform API es el núcleo del ecosistema EduGraph, diseñado para ofrecer servicios backend robustos que permiten la planificación y optimización de rutas de aprendizaje para estudiantes universitarios. Esta API RESTful, construida con FastAPI, se integra con el frontend y los módulos de algoritmos para ofrecer una experiencia educativa personalizada.
- Gestión de usuarios y autenticación
- Administración de planes de estudio y mallas curriculares
- Integración con el módulo de algoritmos para generación de rutas
- API RESTful documentada con OpenAPI
- Soporte para múltiples universidades y planes de estudio
- Sistema de recomendación de cursos basado en rendimiento académico
- Python 3.8+
- pip (gestor de paquetes de Python)
- PostgreSQL (base de datos)
- Redis (para caché y colas de tareas)
-
Clona el repositorio:
git clone https://github.com/edugraph-ods/edugraph-platform-api.git cd edugraph-platform-api -
Crea un entorno virtual y actívalo:
py -m venv .venv .\.venv\Scripts\Activate
-
Configura las variables de entorno:
cp .env.example .env
- FastAPI: Framework web moderno y rápido para construir APIs con Python 3.7+
pip install "fastapi[standard]" - Pydantic: Validación de datos y configuración mediante anotaciones de tipos
pip install "pydantic[email]" - Starlette: Framework ASGI ligero (incluido con FastAPI)
pip install starlette
- SQLAlchemy: ORM y herramientas de base de datos
pip install sqlalchemy
- Alembic: Migraciones de base de datos
pip install alembic
- asyncpg: Controlador asíncrono de PostgreSQL
pip install asyncpg
- psycopg2-binary: Adaptador PostgreSQL para Python
pip install psycopg2-binary
- python-jose: Implementación de JWT en Python
pip install python-jose[cryptography]
- passlib: Biblioteca de hash de contraseñas
pip install passlib[bcrypt]
- uvicorn: Servidor ASGI para ejecutar la aplicación
pip install uvicorn
- pytest: Framework de pruebas
pip install pytest
- black: Formateador de código
pip install black
- isort: Ordenador de importaciones
pip install isort
- Asegúrate de tener PostgreSQL y Redis en ejecución
- Configura las variables de entorno en
.env - Instala las dependencias:
python -m pip install fastapi uvicorn sqlalchemy asyncmy passlib[bcrypt] python-jose[cryptography] pydantic-settings email-validator
- Inicia el servidor de desarrollo:
python -m uvicorn app.main:app --reload
- Accede a la documentación interactiva en:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para más detalles.