Skip to content

Latest commit

 

History

History
66 lines (40 loc) · 3.5 KB

README.md

File metadata and controls

66 lines (40 loc) · 3.5 KB

Unidades_Metrobus 🚇

Creación e implementación de una API REST que muestra datos referentes a las unidades del Metrobus CDMX. Dichos datos fueron exportados de Datos abiertos de México. No obstante, fueron añadidos en un archivo dataset.csv para su posterior uso, asi como, se le asignaron las alcaldias a cada unidad.

En la siguiente imagen se muestran las funciones o peticiones GET con las que cuenta esta API: Listado de funciones

Diagrama de solución 🖨️

Para observar como se llevo a cabo el procedimiento para la solución, se ha realizado un diagrama en el cual se explican las herramientas y pasos que se tomaron para dicho fin. Este se encuentra en la carpeta diagrama de este repositorio contando con un archivo PDF o JPEG.

Pre requisitos :pushpin:

Bases de datos 📀

Por defecto y de manera local la API trabaja con la base de datos SQLite metrobus.db. Sin embargo, si se deseará trabajar en Docker, comentar sus lineas y descomentar las lineas correspondientes de PostgreSQL en el archivo db.py.

SQLite

file_path = os.path.abspath(os.getcwd())+"\metrobus.db"

SQLALCHEMY_DATABASE_URL = "sqlite:///"+file_path

engine = create_engine(SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False})

PostgreSQL

SQLALCHEMY_DATABASE_URL = "postgresql://postgres:password@db:5432/metrobus"

engine = create_engine(SQLALCHEMY_DATABASE_URL)

Instalación 🔧

Local

  • Abrir una ventana CMD y rear un entorno virtual para Python si se desea trabajar en local. Ejem. python3 -m venv fastapi-env, activarlo con fastapi-env\Scripts\activate.bat. Posteriormente ejecutar el archivo requirements.txt con pip install -r requirements.txt

Docker

  • Si se requiere ejecutar en Docker, favor de realizar el siguiente comando en una ventana CMD: docker-compose up -d
  • Importar los datos de dataset.csv si en dado caso no se visualizan en la API.

Ejecución del software ⚙️

Local

  • El Archivo principal es main.py
  • Ejecutar el comando en cmd o terminal [uvicorn main:app --reload]
  • Posteriormente acceder a la url por defecto [127.0.0.1:8000]

Docker

  • Si ha realizado la imagen Docker ejecutar el contenedor creado "micro-service-fastapi" y posteriormente abrir el navegador en la URL: [localhost:5000]

Video Demo 🎞️

Alt text

Construido con 🛠️

Autor ✒️