Este proyecto busca ayudar a los estudiantes de ingeniería a planificar su avance académico de manera efectiva. Proporciona una herramienta web para gestionar las unidades curriculares, las previaturas y los grupos, y permite generar planes de estudio personalizados y actualizados automáticamente.
En este archivo encontrarás:
- Configuración del entorno de desarrollo: instrucciones para crear los archivos de configuración y ejecutar el proyecto en un entorno local utilizando Docker.
- Generación de datos: cómo generar y actualizar los archivos JSON necesarios mediante web scraping y comandos específicos.
- Scripts de scraping: cómo ejecutar los scripts de scraping para obtener la información más reciente de las unidades curriculares, previaturas y grupos.
- Comandos útiles: listado de comandos disponibles para el procesamiento de datos.
- Asegurate de tener los archivos
.enven las carpetasbackendyfrontend. - Puedes copiar los archivos
.env.exampley renombrarlos a.env. - Si te faltan variables de entorno, no dudes en preguntar.
Asegúrate de estar en la raíz del proyecto y de que cuentas con Docker y
docker-compose instalados. Con los archivos de entorno creados ya puedes
levantar los contenedores:
docker-compose up -dEl backend quedará disponible en http://localhost:3000 y el frontend en
http://localhost:5173.
Utilizamos archivos JSON para persistir los datos.
pnpm generate:previaturasGenera las previaturas de las carreras.pnpm generate:ucs-primer-semestreGenera las unidades curriculares que se dictan el primer semestre.pnpm generate:ucs-segundo-semestreGenera las unidades curriculares que se dictan el segundo semestre.pnpm generate:unidades-curricularesGenera las UCS de la FING.pnpm generate:ucs-gruposGenera los grupos de las UCS.pnpm generate:ucs-grupos-actualesGenera las UCs de los grupos actuales.
Para obtener la información más reciente de las unidades curriculares, previaturas y grupos es necesario ejecutar los scripts de scraping y luego generar los archivos JSON utilizados por el backend.
-
Con los contenedores levantados ejecuta los scripts de scraping dentro del servicio
processor-scraper:docker-compose exec processor-scraper \ python -m scripts.scrape_previatures docker-compose exec processor-scraper \ python -m scripts.scrape_groups_and_subjects docker-compose exec processor-scraper \ python -m scripts.scrape_first_semester_subjects docker-compose exec processor-scraper \ python -m scripts.scrape_second_semester_subjects
Los datos obtenidos se guardarán en
processor-scraper/data. -
Luego genera los archivos JSON del backend ejecutando los comandos:
docker-compose exec backend pnpm generate:previaturas docker-compose exec backend pnpm generate:ucs-primer-semestre docker-compose exec backend pnpm generate:ucs-segundo-semestre docker-compose exec backend pnpm generate:unidades-curriculares docker-compose exec backend pnpm generate:ucs-grupos docker-compose exec backend pnpm generate:ucs-grupos-actuales
Los nuevos archivos se almacenarán en
backend/data.