StarWars Compose

Aplicación Android desarrollada para practicar el consumo de APIs REST con Jetpack Compose. Conecta con la API pública SWAPI para mostrar personajes del universo Star Wars.

Al pulsar en un personaje se accede a su detalle completo — datos biográficos, especie, planeta de origen — y las películas en las que aparece con su carátula y fecha de estreno.

Funcionalidades clave

Tecnologías usadas

Lenguaje: Kotlin

UI: Jetpack Compose

Red: Retrofit + kotlinx.serialization

Imágenes: Coil

Inyección de dependencias: Hilt

Otros: StateFlow, Navigation Compose, coroutines.

Galería de pantallas

Lista de personajes
Lista
Detalle de personaje
Detalle
Películas del personaje
Películas

Decisiones técnicas

Carga paralela con async/awaitAll: Planetas, especies y películas se resuelven en paralelo en lugar de secuencialmente, reduciendo el tiempo de carga total.

ViewModel compartido: Un único StarWarsViewModel inyectado con Hilt gestiona el estado de ambas pantallas, evitando recargas innecesarias al navegar.

Serialización con kotlinx: Uso de @SerialName para mapear los campos snake_case de la API directamente al modelo sin capas intermedias.