Este proyecto está diseñado para simplificar y optimizar el proceso de decidir el orden de inscripción de cursos en la Pontifica Universidad Católica de Chile. El proyecto consta de una API utilizando FastAPI que se encuentra en la carpeta backend/
. La API procesa datos históricos y realiza predicciones para obtener un orden de cursos óptimo.
Para una interacción amigable y accesible, se ha creado una interfaz de usuario ubicada en la carpeta frontend/
. Esta interfaz permite a los estudiantes obtener una mejor visualización de los datos y una experiencia más agradable.
El desarrollo y proceso creativo esta documentado en el archivo Creative_Process.md.
Se configuro con Docker para facilitar el despliegue y desarrollo del proyecto con el uso de docker-compose
. Pero no es necesario utilizarlo, ya que se puede ejecutar el proyecto sin Docker siguiendo los pasos de la sección de desarrollo.
- Python >= 3.10 (idealmente 3.11)
- Poetry para la gestión de paquetes y entornos de Python.
ruff
+black
para el formateo y linting de Python.
- Node.js (con npm)
Utilizamos un gestor de dependencias llamado poetry que sirve para crear entornos virtuales y manejar las dependencias del proyecto.
- Instala las dependencias:
poetry install
Es posible que hayan problemas con tensorflow, si ocurre instalar manualmente con poetry run pip install tensorflow[add-cuda]
- Inicia una sesión shell con el nuevo entorno:
poetry shell
- Ejecuta la API:
poetry run uvicorn main:app --host 0.0.0.0 --port 8000 --reload
La API estará disponible en localhost:8000 y la documentación en localhost:8000/docs.
Para agregar nuevas dependencias, utiliza:
poetry add <nombre-del-paquete>
Y para actualizar las dependencias existentes:
poetry update
Se utiliza npm
como gestor de paquetes. Para instalar las dependencias y ejecutar el programa:
npm install
pnm run dev
- Vasco Varas Nuñez. - Vasco-Varas
- Diego Costa R. - diegocostares
- Manuel Blanco Contreras - MBlancoC