# Base de Datos: Room
# Objetivo
El alumno desarrolla aplicaciones que usan Realtime/Firestore (Firebase) como base de datos.
# Criterios de Evaluación
- El alumno es capaz de justificar cuando usar o no usar una base de datos remota.
- El alumno es capaz de añadir las dependencias de una base de datos Realtime/Firestore en un proyecto.
- El alumno es capaz de crear una base de datos (Realtime/Firestore) de forma óptima usando el patrón Singleton.
- El alumno es capaz de verificar los datos introducidos en Room a través de Firebase(web).
- El alumno es capaz de usar funciones suspendidas con Realtime/Firestore para no bloquear el hilo principal.
- El alumno es capaz de añadir información a Realtime/Firestore a través del sdk de Firebase para Android.
- El alumno es capaz de eliminar información en Realtime/Firestore a través del sdk de Firebase para Android.
- El alumno es capaz de guardar información en Realtime/Firestore a través del sdk de Firebase para Android.
- El alumno es capaz de modificar información en Realtime/Firestore a través del sdk de Firebase para Android.
- El alumno es capaz de realizar exportaciones e importaciones en Realtime/Firestore a través del sitio web.
- El alumno es capaz de gestionar las dependencias con Firebase, Realtime/Firestore a través de un Inyector de Dependencias (Hilt).
- El alumno es capaz de gestionar transacciones en Realtime/Firestore a través del sdk de Firebase para Android.
- El alumno es capaz de mappear modelos de Dominio a modelos de Realtime/Firestore y viceversa.
- El alumno es capaz de realizar filtros sobre Realtime/Firestore a través del sdk de Firebase para Android.