Estado General
Bugs y Vulnerabilidades
Cobertura y Mantenibilidad
Este repositorio forma parte del Trabajo de Fin de Grado (TFG) de Manuel García Baldo en la Universidad de Oviedo.
Su objetivo es proporcionar un backend robusto en Java usando Spring Boot que gestione usuarios, vehículos y repostajes, con sus históricos y estadísticas, para la aplicación principal del proyecto (Carburo App).
La comunicación con la aplicación móvil se realiza a través de la API REST que este backend genera, mientras que los datos de estaciones de servicio y precios de combustibles se consultan directamente desde la API REST de PostgreSQL/Supabase, asegurando disponibilidad y datos actualizados.
Como ampliación opcional del TFG se plantea:
- Una versión web mínima que muestre estaciones y precios de manera abierta.
- Una posible versión web completa que gestione usuarios, vehículos y repostajes, replicando la funcionalidad de la app móvil.
El proyecto incluye:
- Spring Boot con Spring Data JPA: Persistencia de entidades (usuarios, vehículos, repostajes) en Supabase/PostgreSQL.
- API REST: Endpoints para la gestión de usuarios, vehículos y repostajes.
- Servicios de negocio: Clases
@Serviceque encapsulan la lógica de negocio. - Repositorios JPA: Interfaces
JpaRepositorypara acceder a la base de datos de forma eficiente. - Manejo de excepciones y logging: Uso de
@ControllerAdviceySlf4jpara registrar errores y actividad.
Antes de ejecutar el backend, es imprescindible configurar correctamente las variables de entorno relacionadas con la base de datos.
| Variable | Descripción |
|---|---|
DB_URL |
Dirección del host de la base de datos |
DB_USER |
Usuario con permisos de lectura y escritura |
DB_PASS |
Contraseña correspondiente |
Estas variables se utilizan en application.properties para configurar Spring Boot.
⚠️ Importante:
Si estas variables no se definen correctamente, el backend no podrá establecer conexión con la base de datos y los endpoints dejarán de funcionar.
El backend expone endpoints REST para:
- Gestionar usuarios: alta, baja y modificación.
- Registrar y consultar vehículos asociados a usuarios.
- Registrar y consultar repostajes, con cálculos de consumo y gasto histórico.
La aplicación móvil interactúa únicamente con esta API para consultar o actualizar datos.
Los precios y datos de estaciones se consultan directamente desde la API REST de Supabase/PostgreSQL.
El backend registra logs detallados de cada operación:
- Altas y modificaciones de usuarios y vehículos.
- Registro de repostajes y cálculos asociados.
- Errores detectados y estado de persistencia.
Este backend es el motor de gestión interna de la aplicación Android del TFG:
- Los usuarios pueden gestionar sus vehículos y repostajes.
- Consultar estadísticas y medias de consumo.
- La app obtiene los precios y localización de estaciones directamente desde la API de Supabase.
Manuel García Baldo
Universidad de Oviedo
Trabajo de Fin de Grado - Ingeniería Informática (2025)
Este proyecto se distribuye bajo licencia MIT.
Puede utilizarse, modificarse o redistribuirse libremente, siempre que se cite la fuente original.