Gestión de Taller - Proyecto PFC

Este proyecto consiste en un sistema completo para la gestión de datos de vehículos a través de un lector OBD2 conectado a un ordenador cliente en Python. Los datos recogidos son enviados a una API en Python, que los persiste en base de datos y los pone a disposición de un frontend desarrollado en Angular 18. Desde la aplicación web, el usuario puede registrarse, iniciar sesión, gestionar sus vehículos y consultar las métricas recogidas. Todo el sistema está desplegado en Docker, con monitorización avanzada y acceso por subdominios.

API Python

La API está desarrollada en FastAPI y se encarga de recibir los datos del cliente Python. Permite la gestión de usuarios, autenticación JWT y persistencia de vehículos y sus datos. Un ejemplo de endpoint para comprobar su funcionamiento es:

  • - @app.get("/saludo") devuelve un mensaje simple para testear conectividad.
  • - Toda la API está disponible en el repositorio: Ver código API

Cliente Python (OBD2)

El cliente Python se conecta mediante un dispositivo OBD2 ELM327 al vehículo y obtiene datos de sensores importantes como velocidad, RPM, temperatura del motor, etc. La biblioteca obd permite realizar llamadas de este tipo:

  • - obd.commands.RPM para obtener las revoluciones del motor.
  • - El cliente recoge estos datos y los envía automáticamente a la API.
  • - Repositorio con el código completo: Ver cliente OBD2

Frontend Angular 18

La aplicación frontend en Angular 18 permite al usuario registrarse, iniciar sesión y consultar todos los datos recogidos por el cliente Python. Desde el panel, el usuario puede añadir, editar o eliminar vehículos y visualizar las métricas almacenadas. La comunicación con la API se realiza mediante peticiones HTTP seguras.

  • - Registro y login con token JWT almacenado en localStorage.
  • - Visualización de vehículos en tablas dinámicas.
  • - Interfaz limpia y adaptada a cualquier dispositivo.
  • - El proyecto Angular completo se encuentra aquí: Ver Frontend Angular

Despliegue y Arquitectura General

Todo el proyecto se encuentra orquestado mediante Docker y accesible a través de subdominios con Traefik. La API y el frontend están expuestos públicamente usando HTTPS y subdominios personalizados. El cliente OBD2 corre de forma local en el equipo conectado al vehículo.

Integración con DevOps

Todo este proyecto está acompañado de una infraestructura DevOps robusta. A continuación puedes ver los apartados dedicados a cada herramienta, donde se explica en detalle cómo están configuradas y utilizadas: