Este proyecto ha sido diseñado con una arquitectura modular distribuida, compuesta por tres capas independientes: una aplicación cliente en Python que se conecta a un vehículo vía OBD2, una API REST desarrollada con FastAPI y una aplicación web frontend en Angular 18. Cada componente ha sido creado bajo principios de escalabilidad, mantenibilidad y seguridad.
El sistema ha sido diseñado para adaptarse a distintos tamaños de talleres mecánicos, permitiendo una implementación flexible, eficiente y rentable. A continuación, se resumen los escenarios más comunes de uso real:
Además, el sistema incluye:
La seguridad ha sido un pilar desde la concepción del proyecto. Se aplicaron buenas prácticas en todos los niveles, desde el backend hasta la infraestructura de red:
passlib
.
.env
fuera del repositorio.
Traefik
y Let's Encrypt.
El proyecto ha sido validado exhaustivamente mediante múltiples capas de pruebas, asegurando su fiabilidad en entornos reales:
pytest
para validar los
endpoints y la
lógica del backend.Locust
para evaluar el
comportamiento ante carga alta.
Este enfoque permite mantener una alta calidad en cada entrega del sistema y facilita el mantenimiento evolutivo del proyecto.
La API es el núcleo del sistema. Está desarrollada con FastAPI e implementa
autenticación con JWT
, validación de datos con Pydantic
, y gestión ORM
con
SQLAlchemy
. Expone múltiples endpoints para la gestión de usuarios, vehículos,
errores
OBD-II e informes técnicos.
FastAPI-Mail
./docs
.
La aplicación cliente se comunica directamente con el vehículo usando un adaptador OBD2 ELM327.
Ha
sido desarrollada en Python, con una interfaz gráfica simple usando Tkinter
, y se
distribuye como ejecutable para Windows mediante PyInstaller
.
requests
.La aplicación web permite gestionar toda la información del sistema de forma intuitiva. Desarrollada en Angular 18, proporciona una experiencia fluida tanto en escritorio como en móviles.
html2pdf.js
.
Todo el sistema está contenedorizado con Docker
y se expone mediante
Traefik
como proxy inverso, con subdominios personalizados para cada servicio. La
solución permite un despliegue ágil y seguro, ideal para talleres pequeños sin conocimientos
técnicos avanzados.
El proyecto incorpora herramientas modernas de DevOps que aseguran trazabilidad, automatización y control del estado del sistema. A continuación puedes ver los apartados detallados para cada componente: