Andrew Mccuan

CMPS 4350: Advanced Software Engineering

Project 2: Project MAD

Project MAD - Presentation

Project Overview

Project MAD is an android application built using Flutter that communicates with a database to perform CRUD operations. The database this project uses is a Real-Time Database by Firebase which implements the use of web-sockets for near instant updating and full-duplex communication. This project allows for users to create/delete/update bookings at hotels. The booking options users can do are choose a guest, choose a hotel, choose a room price, and choose the start and end date of the stay. These operations require communication between the mobile app and the database of reads and writes.

List Hotels

Description:

In this screen the app gives the user the ability to access a list of all available hotels. This is done by using the communication of the app the database, the app downloads a list of hotels from the database.

Create Booking

Description:

In this screen the app gives the user the ability to create a booking of a hotel room. Here the user will have the option to choose a guest, hotel, room price, and dates of stay. The dates the user can stay are displayed in calendar format for easy interface for the user. This screen has full-duplex communication because the app reads in the list of hotels, room prices, and guests. Then app writes a booking to the database with guest data and stay dates and a certain hotel.

Update Booking

Description:

The update booking screen displays a list of bookings to the user and gives them the option to choose one, once chose they can now update a booking with a different room, or different dates of stay. Similarly, to the create booking screen there is full-duplex communication between the app and the database.

Delete Booking

Description:

For the delete booking screen the user has the option to select a booking from a list of bookings then can delete one of the bookings from a list. Also, this screen uses full-duplex communication between the app and the database because it reads in the booking and then deletes a booking.