Skip to content

edugraph-ods/edugraph-platform-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

116 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EduGraph Platform API

📚 Descripción

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.

🚀 Características Principales

  • 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

🛠️ Requisitos Previos

  • Python 3.8+
  • pip (gestor de paquetes de Python)
  • PostgreSQL (base de datos)
  • Redis (para caché y colas de tareas)

🚀 Instalación

  1. Clona el repositorio:

    git clone https://github.com/edugraph-ods/edugraph-platform-api.git
    cd edugraph-platform-api
  2. Crea un entorno virtual y actívalo:

     py -m venv .venv
     .\.venv\Scripts\Activate
  3. Configura las variables de entorno:

    cp .env.example .env

🔧 Dependencias Principales

Core

  • 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

Base de Datos

  • asyncpg: Controlador asíncrono de PostgreSQL
    pip install asyncpg
  • psycopg2-binary: Adaptador PostgreSQL para Python
    pip install psycopg2-binary

Autenticación y Seguridad

  • python-jose: Implementación de JWT en Python
    pip install python-jose[cryptography]
  • passlib: Biblioteca de hash de contraseñas
    pip install passlib[bcrypt]

Desarrollo

  • 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

🚀 Iniciar la Aplicación

  1. Asegúrate de tener PostgreSQL y Redis en ejecución
  2. Configura las variables de entorno en .env
  3. Instala las dependencias:
    python -m pip install fastapi uvicorn sqlalchemy asyncmy passlib[bcrypt] python-jose[cryptography] pydantic-settings email-validator
  4. Inicia el servidor de desarrollo:
    python -m uvicorn app.main:app --reload
  5. Accede a la documentación interactiva en:

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para más detalles.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages