Tópicos Avanzados en Bases de Datos
Universidad Pontificia Bolivariana
👩🏻💻 Luisa Maria Flórez Múnera https://github.com/luisaflorezm 👩🏻💻
🧑🏻💻 Samuel Pérez Hurtado https://github.com/samuelperezh 🧑🏻💻
La Secretaría de Movilidad del Municipio de Medellín en conjunto con la Empresa de Transporte Masivo del Valle de Aburrá están realizando un estudio sobre la programación de la utilización y mantenimiento de los buses eléctricos de tal manera que se pueda realizar una sustitución progresiva cumpliendo los requerimientos mínimos de operación del servicio.
- WebAPI en C# con framework .NET 7.x implementando Patrón Repositorio con capa de persistencia de datos en PostgreSQL a través de Dapper como ORM, utilizando lógica almacenada para realizar operaciones CRUD.
Para la ejecución, se debe usar un software que permita realizar las peticiones GET, POST, PUT y DEL de la API. En este caso, se usó Postman para este propósito.
Se puede importar todos los endpoints creados en Postman utilizando el archivo Programacion_TP.postman_collection.json
Se hizo la creación de 26 endpoints que se muestran a continuación:
-
Obtener cargadores registrados: Para obtener todos los cargadores se hace una petición GET en la dirección https://localhost:7024/api/Cargadores
-
Obtener un cargador por Id: Para obtener un cargador en específico se hace una peticion GET en la dirección https://localhost:7024/api/Cargadores/{cargador_id} donde {cargador_id} es el id del cargador a obtener.
-
Crear un nuevo cargador: Para crear un cargador se hace una petición POST en la dirección https://localhost:7024/api/Cargadores con un cuerpo JSON que incluye el id y el nombre del cargador.
-
Actualizar un cargador existente: Para actualizar un cargador se hace una petición PUT en la dirección https://localhost:7024/api/Cargadores/{cargador_id} donde {cargador_id} es el id del cargador a obtener y con un cuerpo JSON que incluye el id y el nombre del cargador.
-
Eliminar un cargador existente: Para eliminar un cargador se hace una petición DEL en la dirección https://localhost:7024/api/Cargadores/{cargador_id} donde {cargador_id} es el id del cargador a obtener.
-
Obtener autobuses registrados: Para obtener todos los autobuses registrados, realiza una petición GET a la siguiente dirección: https://localhost:7024/api/Autobuses
-
Obtener un autobús por Id: Para obtener un autobús específico por su Id, realiza una petición GET a la siguiente dirección: https://localhost:7024/api/Autobuses/{autobus_id} donde {autobus_id} es el id del autobús que se desea obtener.
-
Crear un nuevo autobús: Para crear un nuevo autobús, envía una petición POST a la siguiente dirección: https://localhost:7024/api/Autobuses. El cuerpo de la petición debe ser un objeto JSON que incluye el id y el nombre del autobús.
-
Actualizar un autobús existente: Para actualizar un autobús existente, envía una petición PUT a la siguiente dirección: https://localhost:7024/api/Autobuses/{autobus_id}, donde {autobus_id} es el id del autobús que se desea actualizar. El cuerpo de la petición debe contener el id y el nombre del autobús.
-
Eliminar un autobús existente: Para eliminar un autobús existente, envía una petición DELETE a la siguiente dirección: https://localhost:7024/api/Autobuses/{autobus_id} donde {autobus_id} es el id del autobús que deseas eliminar.
-
Registrar utilización de cargador por hora del día: Para registrar la utilización de un cargador en un momento específico del día, realiza una petición POST a la siguiente dirección: https://localhost:7024/api/UtilizacionCargadores. El cuerpo de la petición debe incluir detalles como el id del cargador, la hora del día y el autobus.
-
Actualizar utilización de cargador por hora del día: Para actualizar la información de la utilización de un cargador, se envía una petición PUT a la siguiente dirección: https://localhost:7024/api/UtilizacionCargadores/{cargador_id}/{autobus_id}/{horario_id} donde {cargador_id}, {autobus_id}, y {horario_id} son los IDs correspondientes. El cuerpo de la petición debe contener así mismo los IDs.
-
Eliminar utilización de cargador por hora del día: Para eliminar la información de la utilización de un cargador, se envía una petición DEL a la siguiente dirección: https://localhost:7024/api/UtilizacionCargadores/{cargador_id}/{autobus_id}/{horario_id} donde {cargador_id}, {autobus_id}, y {horario_id} son los IDs correspondientes. El cuerpo de la petición debe contener así mismo los IDs.
-
Registrar operación por hora del día: Para registrar la operación de un autobus en un momento específico del día, realiza una petición POST a la siguiente dirección: https://localhost:7024/api/OperacionAutobuses. El cuerpo de la petición debe incluir detalles como el id del autobus y la hora del día.
-
Actualizar operación por hora del día: Para actualizar la información de la operación de un autobus, se envía una petición PUT a la siguiente dirección: https://localhost:7024/api/OperacionAutobuses/{autobus_id}/{horario_id} donde donde {autobus_id}, y {horario_id} son los IDs correspondientes. El cuerpo de la petición debe contener así mismo los IDs.
-
Eliminar operación por hora del día: Para eliminar la información de la operación de un autobus, se envía una petición DEL a la siguiente dirección: https://localhost:7024/api/OperacionAutobuses/{autobus_id}/{horario_id} donde donde {autobus_id}, y {horario_id} son los IDs correspondientes. El cuerpo de la petición debe contener así mismo los IDs.
-
Obtener horas registradas: Para obtener las horas registradas, se envía una petición GET a la dirección: https://localhost:7024/api/Horarios
-
Obtener informe de hora por Id: Para obtener el informe de hora por id, se envía una petición GET a la dirección https://localhost:7024/api/InformeHora/{hora} donde {hora} es el parámetro de la hora que se desea obtener el informe.
-
Obtener informe de utilización de cargadores por hora: Para obtener el informe de utilización de cargadores por hora, se envía una petición GET a la dirección https://localhost:7024/api/InformeUtilizacionCargadores/{hora} donde {hora} es el parámetro de la hora que se desea obtener el informe.
-
Obtener informe de utilización de buses por hora: Para obtener el informe de utilización de buses por hora, se envía una petición GET a la dirección https://localhost:7024/api/InformeOperacionAutobuses/{hora} donde {hora} es el parámetro de la hora que se desea obtener el informe.
-
Obtener todas las utilizaciones de cargadores: Para obtener todas las utilizaciones de cargadores, se debe hacer una petición GET a la dirección https://localhost:7024/api/UtilizacionCargadores
-
Obtener todas las operaciones de los autobuses: Para obtener todas las operaciones de los autobuses, se debe hacer una petición GET a la dirección https://localhost:7024/api/OperacionAutobuses
-
Obtener una hora registrada en específico: Para obtener una hora registrada, se envía una petición GET a la dirección https://localhost:7024/api/Horarios/{horario_id} donde {horario_id} es el parámetro de la hora que se desea obtener.
-
Obtener todos los informe de las horas Para obtener el informe todas las horas, se envía una petición GET a la dirección https://localhost:7024/api/InformeHora
-
Obtener informe de utilización de cargadores por hora: Para obtener el informe de todas las utilizaciones de cargadores por hora, se envía una petición GET a la dirección https://localhost:7024/api/InformeUtilizacionCargadores
-
Obtener informe de utilización de buses por hora: Para obtener el informe de todas las operaciones de buses por hora, se envía una petición GET a la dirección https://localhost:7024/api/InformeOperacionAutobuses