Skip to content

oliver-upm/FirebaseUI-Android

 
 

Repository files navigation

Práctica Firebase: Autenticación, persistencia y conexión con servicios remotos

https://github.com/oliver-upm/FirebaseUI-Android/

Desarrollado por Oliver Fernández García (@oliver-upm) para la asigantura de Front End para Móviles del Máster en Ingeniería Web de la UPM.

Partiendo del proyecto de FirebaseUI-Android como ejemplo, se han desarrollado las siguientes funcionalidades acorde a lo requerido en la práctica:

image image

Registro y autenticación de usuarios

Utilizando el servicio Firebase Authentication se proporciona la posibilidad de registrar nuevos usuarios y autenticarlos mediante email y contraseña. Asismismo, existe las posibilidad de ingresar como invitado.

image image image

Conectar a un servicio API externo

La API elegida es la de CoinCap: CoinCap API 2.0. Proporciona datos transparentes y precisos sobre precios y actividad de mercado en tiempo real para más de 1000 criptomonedas.

Para el ejemplo no se utiliza autenticación ya que esta API proporciona de forma gratis hasta un límite de 200 peticiones por minuto y 11 años de datos históricos.

Esta funcionalidad permite hacer peticiones asíncronas a la API utilizando Retrofit para, mediante el nombre de la criptomoneda, obtener información sobre su precio, market cap, porcentaje de cambio en las últimas 24 horas, etc. Además, cada búsqueda se almacena en la base de datos Cloud Firestore para poder acceder a ellas en la siguiente funcionalidad.

image image

Persistencia: Mostrar historial de búsquedas

Utilizando los datos almacenados en la base de datos Cloud Firestore, se muestra el historial de las últimas 20 búsquedas realizadas ordenadas por fecha de búsqueda (de más reciente a más antigua). Así el usuario puede comparar los datos de las criptomonedas en diferentes momentos.

image

DEMO

Video demostrativo de la aplicación

About

FEM. Autenticación, persistencia y conexión con servicios remotos

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 97.2%
  • Kotlin 1.8%
  • Other 1.0%