Saltar al contenido
Manuel Escobar
Volver a proyectos
Funcional · En evolución

MiFlota

Aplicación full-stack para centralizar la gestión diaria de pequeñas empresas de transporte y profesionales autónomos.

Rol
Análisis funcional, definición del producto, desarrollo full-stack, modelado de datos, pruebas y documentación.
Tecnologías
ReactViteTypeScriptTailwind CSSFastAPIPostgreSQLDocker
Landing o acceso — identidad y propuesta de la aplicación

Resumen

MiFlota reúne vehículos, viajes, repostajes, mantenimientos, incidencias e indicadores operativos en una única plataforma, reduciendo la dependencia de archivos separados y controles manuales.

Problema

Las pequeñas flotas suelen trabajar con información distribuida entre hojas de cálculo, documentos, mensajes y programas no conectados. Esto dificulta conocer la situación real de cada vehículo, relacionar viajes con costes, controlar repostajes, anticipar mantenimientos y disponer de una visión global para tomar decisiones.

Objetivos

  • Centralizar la información operativa de la flota.
  • Relacionar vehículos, conductores, viajes, repostajes, mantenimientos e incidencias.
  • Permitir diferentes permisos según el rol del usuario.
  • Reducir registros duplicados y cálculos manuales.
  • Mostrar indicadores comprensibles en un panel de control.
  • Preparar una arquitectura que pueda desplegarse y evolucionar.

Solución

MóduloFunciones
Acceso y usuariosInicio de sesión, autenticación mediante JWT, rutas privadas y roles como administración, oficina/gestión y conductor.
VehículosAlta, consulta, edición y uso del vehículo como entidad central del sistema.
ViajesListado, alta, detalle y actualización de viajes mediante API.
RepostajesRegistro de fecha, litros, importe, proveedor y forma de pago; asociación automática del conductor y cálculo del precio por litro.
MantenimientosSeguimiento de operaciones de mantenimiento vinculadas a los vehículos.
IncidenciasRegistro por vehículo y conductor con tipo, gravedad, estado y descripción.
DashboardVisualización de información e indicadores operativos.
DatosImportación o carga desde Excel/script en determinados flujos.
Documentación APISwagger/OpenAPI para consultar y probar los endpoints.

Mi aportación

Análisis funcional, definición del producto, desarrollo full-stack, modelado de datos, pruebas y documentación.

Arquitectura

CapaTecnologías / enfoque
FrontendReact, Vite, TypeScript, Tailwind CSS, React Router, Zustand, Axios y librería de gráficos.
BackendPython, FastAPI, API REST, SQLAlchemy, autenticación JWT y validación de esquemas.
DatosPostgreSQL, Supabase como servicio de base de datos, migraciones con Alembic.
InfraestructuraDocker y Docker Compose; repositorio GitHub; arquitectura preparada para despliegue web.
CalidadConfiguración mediante variables de entorno, documentación README, revisión de arranque y pruebas de flujos principales.

Decisiones y dificultades

  • Separación del frontend y backend mediante API para facilitar mantenimiento y escalabilidad.
  • Diseño de permisos y rutas privadas para adaptar la aplicación a distintos tipos de usuario.
  • Gestión segura de variables de entorno y secretos fuera del repositorio.
  • Coherencia entre entornos locales, Docker y servicios externos de base de datos.
  • Normalización de datos y relaciones para que el vehículo actúe como eje de la operativa.
  • Pruebas de arranque limpio, migraciones y flujos completos antes de considerar una fase terminada.

IA aplicada

En MiFlota he utilizado Claude Code y ChatGPT como apoyo en el análisis del repositorio, definición de mejoras, revisión de arquitectura, detección de errores, refactorización, documentación y preparación de pruebas. Mi responsabilidad ha sido definir el problema, establecer los requisitos, tomar las decisiones funcionales, validar el comportamiento y comprobar que la solución responde a la operativa real.

Resultado

El proyecto demuestra la capacidad de transformar experiencia en transporte, facturación y costes en una solución digital completa. Actualmente dispone de una base funcional y modular sobre la que pueden incorporarse nuevos informes, alertas, automatizaciones e integraciones.

Evidencias

Capturas reales de la aplicación.

Landing — identidad y propuesta de la aplicación
Login — acceso y experiencia limpia
Dashboard — indicadores y visión global
Vehículos — listado y consulta
Viajes — tabla y estados
Repostajes — litros, importe y €/L
Mantenimientos — talleres, coste y prioridad
Incidencias — tipo, gravedad y seguimiento
Informes — costes, ventas y rendimiento por vehículo
Ajustes — cuenta, empresa y roles

Pendiente antes de publicar

  • URL pública o vídeo de demostración
  • URL del repositorio que pueda mostrarse
  • Fecha/año final que aparecerá en la ficha
  • Métricas reales: registros de prueba, módulos operativos, ahorro estimado validado o cobertura de pruebas
  • Captura de la documentación Swagger/OpenAPI
  • Captura de la vista móvil