Loading repository data…
Loading repository data…
alekesadillas / repository
Este proyecto tiene como objetivo implementar un sistema inteligente para el encendido y apagado de aires acondicionados dentro de una institución, utilizando tecnologías IoT y hardware adicional.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Este proyecto tiene como objetivo implementar un sistema inteligente para el encendido y apagado de aires acondicionados dentro de una institución, utilizando tecnologías IoT y hardware adicional.
Actualmente, la API permite:
Puedes encontrar ademas un video donde explicamos a detalle la instalación y funcionamiento del API mediante el siguiente enlace
git clone https://github.com/alekesadillas/horarios_api.git
¡Y listo! El proyecto estará clonado. La estructura se vera asi :
/horarios_api
│
├── /src
├── README.md
└── requirements.txt
python -m venv .venv
.\.venv\Scripts\Activate.ps1
Necesitamos una base de datos PostgreSQL escuchando en localhost:5432.
Para crear nuestra tabla ejecutamos la siguiente SQL Query:
CREATE TABLE public.horario_v2 (
id SERIAL PRIMARY KEY,
seccion VARCHAR(10),
hora_inicio TIME,
hora_fin TIME,
estado BPCHAR(1),
fecha_creacion TIMESTAMP,
fecha_modificacion TIMESTAMP
);
📥 Para poblar la tabla con los datos necesarios, copia y pega el contenido de este archivo y ejecutalo como SQL SCRIPT:
Y listo! Tendriamos lista nuestra Base de datos.
Para que nuestra app pueda ejecutarse correctamente necesita de ciertos paquetes, dichos paquetes se tienen que instalar mediante pip en el terminal.
Afortunadamente encontraras tambien un archivo con todos los paquetes que necesitas para poder ejecutarla:
/horarios_api
│
├── /src
├── .env
├── README.md
└── requirements.txt <---
Para la instalacion abre una terminal dentro del proyecto en VSCode y ejecuta el siguiente comando:
pip install -r requirements.txt
Esta API permite realizar operaciones GET, POST, PUT y DELETE sobre la base de datos horario_v2.
app.py dentro de la carpeta /src.Deberías ver un mensaje en la terminal similar a:
Running on http://127.0.0.1:5000/
La URL que nos marca es la direccion HTTP por la cual podemos acceder a nuestra API y realizar las peticiones mediante Postman.
Abre Postman y crea una nueva petición HTTP.
Para fines de esta guía únicamente haremos una petición GET, para ello pegaremos la URL proporcionada en la terminal con los siguientes endpoints (ejemplos más abajo):
Haz clic en SEND
La respuesta de nuestra API debería ser un listado de todos los horarios dentro de nuestra base de datos
Y eso seria todo el contenido de la guía, a continuación, estarán los métodos posibles para peticiones con la API. ¡Suerte!
Todos los horarios
GET http://127.0.0.1:5000/api/horarios/
Horario por ID
GET http://127.0.0.1:5000/api/horarios/60 <---- Aqui puedes reemplazar por el id del horario
Horarios por salón (sección)
GET http://127.0.0.1:5000/api/horarios/s6 <---- Aqui puedes remplazar por el salon que busques
POST http://127.0.0.1:5000/api/horarios/add
Respuesta esperada
{
"id": 145
}
Endpoint
DELETE http://127.0.0.1:5000/api/horarios/delete/"id" <--- Äqui indicamos un id del horario a eliminar
Ejemplo:
DELETE http://127.0.0.1:5000/api/horarios/delete/145
{
"id": 145
}
Endpoint
PUT http://127.0.0.1:5000/api/horarios/update/145
Ejemplo:
Respuesta esperada
{
"id": 145
}
Una vez en la ventana del navegador nos dirijimos a la siguiente URL
http://127.0.0.1:5000/index
Esto nos llevara a la interfaz grafica y de inicio de sesion donde accederemos al panel de administracion
Las credenciales de acceso son las siguientes:
Usuario: admin
password: 12345
| Nombre completo | Usuario de GitHub |
|---|---|
| Santiago Sánchez Kevin Alejandro | alekesadillas |
| Segovia Cazares Isaac | isaacsego |
| Padrón Zaleta Jared Alfredo | Jaresito2024 |
| Sordel Guzmán Andrea | andysordel |
| Márquez Ruiz José De Jesús | VIIIMaus |
| Flores Torres José Gerardo | GerFlo0 |
| Garibaldi Zúñiga Daniel | DanielGaribaldiZ |
| Zaleta Diaz Dalia Nohemí | DaliaN303 |
| Avalos Pérez Juan Felipe | Iron-Spider2099 |
| Gallegos Rodríguez Jessica Rubí | taesi23 |
| Caudillo Luna Obet Yahir | HarushiFPS |
Ingeniería en Sistemas Computacionales
Materia: Programación Backend