Skip to content

Este proyecto consiste en desarrollar una API REST para gestionar y consultar las ubicaciones de casi 10 mil taxis en Beijing, China. El objetivo es explorar soluciones eficientes para almacenar y procesar volúmenes de datos, asegurando una experiencia de usuario óptima.

Notifications You must be signed in to change notification settings

LicetLemus/DEV015-fleet-management-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fleet Management API

Índice


1. Introducción

Esta API REST permite gestionar los datos de una flota de taxis, proporcionando funcionalidades como la carga masiva de datos históricos de GPS, consulta de ubicaciones en tiempo real y administración de usuarios. También ofrece autenticación segura mediante JWT para proteger todos los endpoints.

2. Tecnologías

  • Python: Lenguaje de programación utilizado.
  • Flask: Framework para el desarrollo de la API.
  • SQLAlchemy: ORM para gestionar la base de datos.
  • Flask-JWT-Extended: Manejo de autenticación y autorización con tokens JWT.
  • PostgreSQL: Base de datos utilizada para almacenar los datos de los taxis y usuarios.

3. Uso

A continuación se describen los principales endpoints disponibles:

  • GET /taxis: Obtiene el listado de taxis. Soporta los parámetros plate, page y limit. Ejemplo: /taxis?limit=3&page=2
  • GET /trajectories: Obtiene el listado de trayectorias, teniendo en cuenta el parámetro taxiId y date. Ejemplo: /trajectories?taxiId=6418&date=02-02-2008
  • GET /trajectories/latest: Obtiene la última trayectoria de cada taxi. Ejemplo: trajectories/latest
  • POST /users: Crea nuevos usuarios { "name": "user2", "email": "[email protected]", "password": "test2" }
  • GET /users: Obtiene el listado de usuarios. Soporta los parámetros page y limit
  • PATCH /users/: Actualiza la información de un usuario basado en el ID { "name": "Grace Hopper update" }
  • DELETE /users/: Elimina un usuario

4. Autorización

Para acceder a los endpoints protegidos, se requiere un token JWT. El token debe incluirse en el encabezado de las solicitudes con el formato Authorization: Bearer <token>

5. Manejo de errores

  • 401 Unauthorized: El token JWT es inválido o no está presente en el encabezado de la solicitud.
  • 404 Not Found: El recurso solicitado no se encuentra. Se debe verificar que el endpoint y los parámetros sean correctos.
  • 400 Bad Request: La solicitud tiene errores. Es necesario verificar que todos los parámetros y datos sean correctos.
  • 500 Internal Server Error: Error en el servidor.

Gracias por visitar este proyecto. Se espera que la API sea útil y que quienes trabajen con ella disfruten del proceso

About

Este proyecto consiste en desarrollar una API REST para gestionar y consultar las ubicaciones de casi 10 mil taxis en Beijing, China. El objetivo es explorar soluciones eficientes para almacenar y procesar volúmenes de datos, asegurando una experiencia de usuario óptima.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages