Skip to content

Repository files navigation

TFG Commerce — Cliente Android

Aplicación móvil de comercio y gestión de pedidos desarrollada como Trabajo Final de Grado.

Español · English · Caso de estudio · API

Kotlin Android Estado

Visualización editorial del cliente Android conectado a la API

Visualización editorial de la arquitectura; no es una captura de la aplicación.

Resumen

TFG Commerce reúne catálogo, carrito, pedidos, perfil y administración en una aplicación Android nativa. El cliente consume una API propia mediante Retrofit y adapta la navegación y las acciones disponibles al estado de autenticación y al rol del usuario.

Tipo Aplicación Android nativa
Rol Desarrollo del cliente y conexión con la API
Año 2025
Estado Código académico disponible; sin servicio público
Backend TFG Commerce API

Recorridos implementados

  • Registro, inicio de sesión, cierre global de sesión y cambio de contraseña.
  • Catálogo, búsqueda, detalle de producto y carrito.
  • Perfil, consulta de pedidos y cancelación según estado.
  • Administración de productos, pedidos y usuarios.
  • Personalización visual controlada desde el área administrativa.
  • Preferencias locales de tema e interfaz.

Arquitectura

flowchart LR
    UI["Jetpack Compose UI"] --> VM["ViewModels"]
    VM --> DATA["Repositories"]
    DATA --> HTTP["Retrofit + Gson"]
    HTTP --> API["TFG Commerce API"]
    VM --> LOCAL["DataStore / preferencias privadas"]
Loading

La interfaz se organiza por pantallas y componentes Compose. Los ViewModels mantienen el estado de presentación y delegan la comunicación HTTP en la capa de datos. La URL de la API se inyecta durante la compilación.

Decisiones técnicas

  • Compose sobre vistas XML: permite mantener la interfaz y su estado en Kotlin.
  • Retrofit como frontera HTTP: centraliza el contrato con el backend y el tratamiento de respuestas.
  • Sesión cerrada ante 401: evita conservar una sesión local inválida.
  • Backend configurable: la aplicación no queda ligada a una URL de producción inexistente.
  • Estado académico explícito: no se publican cuentas, datos ni una demo que no se mantenga.

Tecnologías

Kotlin · Jetpack Compose · Material 3 · Navigation Compose · Retrofit · Gson · Coroutines · DataStore · Coil

Ejecución local

Requisitos:

  • Android Studio con JDK 17 o superior.
  • Android SDK 35.
  • Una instancia local de la API.

El emulador usa por defecto:

http://10.0.2.2:8080/

Para indicar otra URL, que debe terminar en /:

.\gradlew.bat assembleDebug -PAPI_BASE_URL=https://api.example.com/

Validación

.\gradlew.bat testDebugUnitTest assembleDebug lintDebug

Este flujo ejecuta las pruebas unitarias, construye el APK de depuración y comprueba el proyecto con Android Lint. Los APK y directorios build/ no se versionan.

Seguridad y límites

  • Los valores de los tokens no se escriben en logs.
  • Las preferencias de autenticación se excluyen de copias de seguridad y transferencias.
  • La API y sus secretos se gestionan fuera de este repositorio.
  • El token se conserva actualmente en almacenamiento privado de la aplicación.

Antes de un uso real, el almacenamiento del token debería migrarse a una estrategia respaldada por Android Keystore. Consulta SECURITY.md para ver los controles presentes y el trabajo pendiente.

Estructura principal

app/src/main/java/com/example/tfg/
├── data/          # modelos, Retrofit y repositorios
├── ui/            # componentes, navegación, pantallas y ViewModels
└── utils/         # sesión, preferencias, carrito y textos

Proyecto relacionado

Este repositorio se publica como evidencia técnica de un proyecto académico. No representa una tienda operativa ni contiene datos reales.

About

Cliente Android de comercio y pedidos · Kotlin, Compose y Retrofit · Academic final project

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages