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: