Lectura Brava
What I did
- Design in Figma
- Development
The project was born as the final project of the subject Plataformas Software Móviles. The request was to build a complete native Android application: consumption of an external API, real user authentication and persistence in the cloud, all with a careful interface and non-trivial navigation. The project was graded with a 10/10.
The app is a book search and manager: it queries the Google Books API, displays the detail of each result and allows saving favorites and search history for authenticated users with Google.
What it offers
Access
- Login with Google (Firebase Authentication).
- Splash screen that resolves the session state before deciding if the user goes to login or to the app.
Search and discovery
- Search against the Google Books API.
- Recent search history, persisted by user and with individual deletion per entry.
Personal management
- Favorites by user, synchronized with Firestore.
- Book detail with cover, authors, year, description and rating.
Interface
- Shared element transitions between the list and the detail (
SharedTransitionLayout). - Shimmer loaders during list and detail loading.
- Rating component by stars.
- Differentiated error states (no connection vs generic error) in each screen that depends on network.
Stack
Kotlin, Jetpack Compose, MVVM architecture, Dagger Hilt, Retrofit + Gson, Firebase Authentication + Firestore, Coil.
Práctica final de la asignatura Plataformas Software Móviles. El enunciado pedía construir una aplicación Android nativa completa: consumo de una API externa, autenticación real de usuarios y persistencia en la nube, todo ello con una interfaz cuidada y navegación no trivial. La práctica fue calificada con un 10/10.
La app es un buscador y gestor de libros: consulta la API de Google Books, muestra el detalle de cada resultado y permite guardar favoritos e historial de búsqueda por usuario autenticado con Google de forma visual utilizando shimmer effects.
Qué ofrece
Acceso
- Inicio de sesión con Google (Firebase Authentication).
- Pantalla de splash que resuelve el estado de sesión antes de decidir si el usuario va a login o a la app.
Búsqueda y descubrimiento
- Búsqueda contra la API de Google Books.
- Historial de búsquedas recientes, persistido por usuario y con borrado individual por entrada.
Gestión personal
- Favoritos por usuario, sincronizados con Firestore.
- Detalle de libro con portada, autores, año, descripción y valoración.
Interfaz
- Transiciones de elemento compartido entre el listado y el detalle (
SharedTransitionLayout). - Loaders shimmer durante la carga de listas y detalle.
- Componente de valoración por estrellas.
- Estados de error diferenciados (sin conexión frente a error genérico) en cada pantalla que depende de red.
Stack
Kotlin, Jetpack Compose, arquitectura MVVM, Dagger Hilt, Retrofit + Gson, Firebase Authentication + Firestore, Coil.



