← Volver a Proyectos destacadosCristhian Santos / estudio de caso 04

Sistema de gestión de alquiler vehicular

Aplicación Android para administrar vehículos, clientes, contratos y registro de pagos, con almacenamiento local y control de disponibilidad.

Proyecto académico · Desarrollo Android

JavaAndroid StudioMaterial DesignSQLite

El problema

La gestión de un alquiler requiere coordinar información del cliente, vigencia de su licencia, disponibilidad de vehículos, fechas, tarifas y pagos.

Estas operaciones deben mantenerse relacionadas: registrar un contrato sin actualizar la disponibilidad puede generar inconsistencias, al igual que guardar solo una parte de la información del alquiler.

La solución

Desarrollé una aplicación Android que reúne el registro y seguimiento de alquileres en un mismo flujo.

La aplicación permite seleccionar clientes y vehículos disponibles, definir fechas, calcular el importe del contrato y registrar pagos. La información se conserva en una base de datos local SQLite.

Arquitectura y tecnologías

Interfaz y navegación

Interfaz desarrollada en Java con componentes de Material Design y ConstraintLayout. La navegación principal utiliza NavigationDrawer y fragments para acceder a las funciones de la aplicación.

Base de datos local

Persistencia mediante SQLiteOpenHelper y una estructura de ocho tablas relacionadas. Las claves foráneas mantienen las relaciones entre los registros y las restricciones de unicidad ayudan a controlar duplicados.

Registro de alquileres

La pantalla de registro incorpora selección de fechas con DatePickerDialog, elección de vehículos disponibles y cálculo dinámico del importe.

Registro de pagos

Los pagos se vinculan con los contratos y se comprueba la unicidad del identificador de operación para evitar registros repetidos.

Funcionalidades principales

Yape y Plin se registran como medios de pago utilizados por el cliente; la aplicación no procesa el cobro.

Integridad de las operaciones

Registro mediante transacciones

La confirmación del alquiler agrupa la creación del contrato, sus detalles y la actualización de los vehículos al estado ALQUILADO dentro de una misma transacción SQLite.

Si la operación se completa, se confirman los cambios. Si ocurre un fallo, se revierten para evitar registros parciales.

Control de duplicados

Las validaciones de placas, documentos e identificadores de pago ayudan a evitar información repetida.

Disponibilidad vinculada al contrato

El estado del vehículo cambia durante el ciclo del alquiler. Al cerrar el contrato o cancelar la reserva, se restablece su disponibilidad.

Mi participación

Desarrollé las pantallas y la lógica en Java para conectar la gestión de clientes, vehículos, contratos y pagos.

Implementé la selección de fechas, las validaciones, el cálculo del importe y la persistencia relacional. También incorporé transacciones para las operaciones que modifican varias tablas.

Resultado y alcance

El proyecto integra un flujo de gestión de alquileres con almacenamiento local, desde la selección del cliente y los vehículos hasta el registro de pagos y la liberación de disponibilidad.

Las pruebas realizadas en emulador permitieron revisar los recorridos de la aplicación.

Como proyecto académico, su principal aporte es la aplicación de desarrollo Android, modelado relacional y reglas de negocio en un sistema conectado. Esta versión utiliza SQLite local y no incorpora sincronización en la nube ni procesamiento de pagos.