Diseño de la Base de datos noSQL

El diseño planteado ha sido elaborado teniendo en cuenta que el usuario quiere consultar los vuelos disponibles a sus destinos favoritos. Para ello se utiliza un buscador con campos personalizados para encontrar aquellos itinerarios que coincidan con sus requisitos.

Cada usuario almacena un registro de todas sus búsqueda para poder consultar más tarde el mismo itinerario o incluso utilizar la búsqueda como un template para modificar otros parámetros que el usuario necesite realizar.

 Cuando el usuario realiza la búsqueda puede reservar un vuelo de aquellos vuelos coincidan con su búsqueda. Al reservar un vuelo se guarda el código del vuelo de referencia así como el número de pasajeros que viajen. 

Para aportar más información a la reserva del vuelo, se ha creado un objeto ciudades el cual contiene información de las ciudades de salida y llegada de los itinerarios para ofrecer al usuario la posibilidad de acceder a la ubicación del aeropuerto.

El usuario puede en cualquier momento cambiar la categoría de la reserva pudiendo así pasar de la clase Turista a la clase Premium o Business.

Lectura de la base de datos noSQL json

Para poder leer en la base de datos noSQL es necesario crear primero las clases correspondientes con cada objeto de la base de datos json. De esta forma podremos extraer los datos de forma rápida y sencilla.

Escritura de la base de datos

Una aplicación con gestión de vuelos no sería una buena aplicación si no se pudiese modificar o añadir información a la base de datos. Por ello se utiliza la clase, vuelo, reserva, o resultado para poder realizar estas modificaciones.

Estructura de datos

La base de datos utilizada es Realtime Database de Firebase el cual es una base de datos noSQL JSON. A continuación se muestran varios ejemplos de la estructura de la base de datos.

Vuelos

Citys

Users

En el caso de los usuario contamos con varios arrays donde se almacenan las reservas y el historial con todas las búsquedas que el usuario realiza.