AION (backend) provee una API consumible para la recopilacion de horarios universitarios en formato JSON, con funcionalidades CRUD y posibilidad de organizar los horarios a peticion del usuario o de manera automatica a través de algoritmos de ciencias de datos.
AION (backend) es un proyecto web que genera respuestas de objetos JSON en base a peticiones del usuario.
El usuario puede:
- Elegir una universidad a la cual acceder
- Modificar los horarios existentes almacenados para esa universidad (solo administradores y colaboradores)
- Elegir una serie de horarios basado en filtros
- Organizar los horarios basado en filtros
- Solicitar que se organicen automaticamente unos horarios basado en filtros
(sin actualizar)
(sin actualizar)
(sin actualizar)
(sin actualizar)
- Python (>=3.10): Instale Python de manera tal que sea usable en la Consola de Comandos de su sistema operativo, para esto al momento de la instalacion (o después de manera manual) deberá poner Python en las Variables de Entorno del Sistema Operativo
- Pipenv
- Git: Instale Git de manera tal que sea usable en la Consola de Comandos de su sistema operativo.
Antes que nada cree la carpeta en la que almacenará el repositorio, se recomienda un ruta nombrada AION/backend
.
Para descargar el repositorio dispone de varios metodos (clonacion, descarga o solicitud de cambios). Para el tutorial se recomendara la solicitud de cambios. Abra la Consola de Comandos en el directorio y ejecute git init
, esto inicializará el directorio como alojamiento para un repositorio local. Ejecute git pull https://github.com/ACMUD/AION_backend main
y esto descargará el repositorio a su directorio. A continuación un gif mostrando lo escrito.
Cree un entorno de trabajo con Pipenv ejecutando py -m pipenv --three
y luego instale las dependencias del repositorio en el entorno ejecutando py -m pipenv install
. A continuación un gif mostrando lo escrito.
Para poder ejecutar el aplicativo debe suministrar una URI de base de datos valida (puede ser una URI alojada en la red, en su computador con un motor de bases de datos o en un archivo plano). Para suministrar la URI debera disponer de la base de datos creada y crean un archivo JSON en src/config con la forma {"host": string, "puerto": integer, "nombre_bd": string, "usuario": string, "clave": string, "motor": string}.
Para evitar errores, puede generar el archivo ejecutando los comandos ´cd src/config´, luego ´py´, lo cual abrira la consola de comandos de Python, luego ´form db import constructor_uri´ y finalmente ´constructor_uri()´, lo que creara el archivo ´db.json´ automaticamente para que introduzca allí sus credenciales de la base de datos. Entonces, ejecute en la consola exit()
para salir de la consola de Python y cd ../..
para volver al directorio principal. A continuación un gif mostrando lo escrito.
La instalación rapida consiste en crear un directorio, abrir la Consola de Comandos en el directorio y ejecutar:
git init
git pull https://github.com/ACMUD/AION_backend main
py -m pipenv --three
py -m pipenv install
cd src/config
py
from db import constructor_uri
constructor_uri()
exit()
cd ../..
Asumiendo que se han seguido los pasos de la instalación.
Utilizando un archivo de arranque
Si se desea usar un archivo de arranque se debe ejecutar la Consola de Comandos en el directorio bootstrap
del repositorio y ejecutar cmd<bootstrap_win.txt
. A continuación un gif mostrando lo escrito.
Si no se desea usar un archivo de arranque se debe ejecutar la Consola de Comandos en el directorio del repositorio. Ejecutar py -m pipenv shell
, para activar la consola del entorno virtual, y luego py -m src.index
para empezar la ejecucion. A continuación un gif mostrando lo escrito.
Para finalizar la ejecucion oprima Ctrl+C
para cancelar la ejecución y ejecute exit
para salir del entorno virtual.
Para realizar una prueba del aplicativo puede dirigirse en el navegador a la direccion localhost:5000
o realizar una prueba con un probador de consola, como se ve en el siguiente gif.
- Python (>=3.10)
- Pipenv
- Flask
- Otras dependencias son descritas en el archivo de requerimientos
(sin actualizar)
Este proyecto se halla licenciado bajo la GNU General Public License v3 1
El Capitulo Estudiantil de la Association for Computing Machine (ACM), de la Universidad Distrital Francisco José de Caldas es una agrupación estudiantil con reconocimiento nacional e internacional que se dedica a la promoción de conocimientos de ingeniería. El grupo cuenta con ejes de interes y un laboratorio de proyectos en los cuales participan diferentes estudiantes. El Proyecto AION empezó su desarrollo dentro del laboratorio de proyectos de ACMUD y recibe colaboración de multiples personas.
El Proyecto Kairos de la Universidad Nacional de Colombia (actualmente desamparado) era utilizado por estudiantes de la Universidad Nacional de Colombia y la Universidad Distrital Francisco José de Caldas para organizar sus horarios. El proyecto paró sus actualizaciones en febrero de 2020. El Proyecto AION se desarrolló con la premisa de ser el Proyecto Kairos alojado en la red y con una estructura abierta para incluir más universidades.
El Grupo Alta Lengua funge como colaborador del Proyecto AION.
Footnotes
-
AION (backend) 2022 (c) ↩