Skip to content

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.