Este proyecto consiste en la construcción de una API REST para la gestión de flotas, específicamente para la consulta de ubicaciones de taxis. La API está diseñada para cargar y consultar la información de casi 10,000 taxis, almacenada en una base de datos PostgreSQL. A través de varios endpoints, permite la consulta de taxis y sus trayectorias, además de ofrecer funcionalidades de autenticación y gestión de usuarios.
- Carga masiva de información desde archivos SQL a una base de datos PostgreSQL.
- Listado de taxis con soporte de paginación y filtrado por número de placa.
- Consulta de trayectorias por taxi y fecha, con datos de latitud, longitud y timestamp.
- Endpoint para consultar la última ubicación de cada taxi.
- CRUD de usuarios para la plataforma, con autenticación mediante JWT.
- Protección de endpoints con JWT.
- Pruebas unitarias y de integración con Postman.
- Lenguajes: Python (Flask)
- Bases de datos: PostgreSQL
- Autenticación: JWT (JSON Web Token)
- ORM: SQLAlchemy
- Testing: Postman
- GET /taxis: Listado de todos los taxis con paginación y filtrado por placa.
- GET /trajectories: Consulta de todas las trayectorias de un taxi en una fecha específica.
- GET /trajectories/latest: Consulta de la última ubicación reportada por cada taxi.
- CRUD /users: Este conjunto de endpoints permite crear, leer, actualizar y eliminar usuarios en la plataforma.
- POST /auth/login: Autenticación de usuarios y obtención de JWT.