Descripción tablas y campos
Tabla: users
users
Función: Almacena la información de los usuarios registrados en el sistema.
Campos:
uid
(String, PK): Identificador único proporcionado por Firebase.username
(String): Nombre de usuario.email
(String): Correo electrónico.phone
(String, nullable): Número de teléfono.role
(String): Rol del usuario (por defecto "USER").created_at
(Date): Fecha de creación del usuario.is_premium
(Boolean): Indica si el usuario tiene cuenta premium.
Tabla: profile_images
profile_images
Función: Almacena la URL de la imagen de perfil asociada a cada usuario.
Campos:
id
(Long, PK): Identificador único.image_url
(String): URL de la imagen.uploaded_at
(DateTime): Fecha de subida de la imagen.user_id
(String, FK): Referencia al usuario propietario.
Tabla: vehicles
vehicles
Función: Guarda información sobre los vehículos asociados a los usuarios.
Campos:
id
(Long, PK): Identificador único.name
(String): Nombre del vehículo.brand
(String): Marca.model
(String): Modelo.year
(String, nullable): Año.type
(Enum): Tipo de vehículo (CAR, MOTORCYCLE, BIKE).fuel_type
(String, nullable): Tipo de combustible.tank_capacity
(Double, nullable): Capacidad del tanque en litros.efficiency
(Double, nullable): Consumo promedio.notes
(String, nullable): Notas adicionales.user_id
(String, FK): Usuario propietario.
Tabla: routes
routes
Función: Almacena las rutas creadas por los usuarios con sus detalles.
Campos:
id
(Long, PK): Identificador único.name
(String): Nombre de la ruta.description
(String, nullable): Descripción de la ruta.start_time
(DateTime): Hora de inicio.end_time
(DateTime): Hora de fin.start_point
(String): Punto de inicio.end_point
(String): Punto final.distance_km
(Double): Distancia total en kilómetros.moving_time_sec
(Long): Tiempo en movimiento en segundos.avg_speed
(Double): Velocidad media.max_speed
(Double): Velocidad máxima.fuel_consumed
(Double, nullable): Combustible consumido.efficiency
(Double, nullable): Eficiencia del trayecto.pace
(Double, nullable): Ritmo.compressed_path
(String): Path comprimido en Base64.vehicle_id
(Long, FK): Vehículo asociado.user_id
(String, FK): Usuario propietario.
Tabla: route_pins
route_pins
Función: Almacena puntos específicos marcados en una ruta.
Campos:
id
(Long, PK): Identificador único.latitude
(Double): Latitud.longitude
(Double): Longitud.title
(String): Título del pin.description
(String, nullable): Descripción del pin.route_id
(Long, FK): Ruta asociada.
Tabla: route_image
route_image
Función: Guarda imágenes asociadas a las rutas.
Campos:
id
(Long, PK): Identificador único.route_id
(Long, FK): Ruta asociada.image_url
(String): URL de la imagen.uploaded_at
(DateTime): Fecha de subida.
Tabla: refresh_token
refresh_token
Función: Gestiona tokens de actualización para autenticación.
Campos:
id
(Long, PK): Identificador único.user_uid
(String, FK): Usuario asociado.token
(String): Token.created_at
(DateTime): Fecha de creación.expires_at
(DateTime): Fecha de expiración.
Última actualización