Skip to content

A Reservation Management App using Firebase Back-end with Flutter for Cross Platform Development.

Notifications You must be signed in to change notification settings

Dhi13man/reservation_manager_firebase

Repository files navigation

Firebase Reservation Manger

This is a Reservation Management App project made in an attempt to learn how to utilize Firebase in a short period of time.

Download the Android App .apk directly, or compressed version from Releases Page.

Getting Started

This repository holds the code for a Reservation Management App that can be utilized by Hotels, Restaurants etc.

The app utilizes Firebase as a backend for Authentication and Firestore Database implementation, which the app works around.

  1. Utilizes Firebase for a database that works across platforms

  2. Utilizes bloc + Provider based State Management Architecture.

  3. Utilizes Material Design elements for UI building, as well as various other Open Source Packages as listed below.

Features

  1. Firebase based Google and Email Authentication
  2. Firestore dynamic database for reservations with one tap custom sorting.
  3. Light and Dark Themes (toggleable by tapping icon)

Screenshots

Authentication Screen(Light): Authentication Screen(Dark):
Authentication Screen(Light) Authentication Screen(Dark)
Reservation List Screen(Light): Reservation List Screen(Dark):
Reservation List Screen(Light) Reservation List Screen(Dark)
Add or Edit Reservation Screen(Light): Add or Edit Reservation Screen(Dark):
Add Reservation Screen(Light) Add Reservation Screen(Dark)
Reservation Screen Landscape:
Reservation Screen Landscape

Dependencies Used

  1. material for UI

  2. cupertino and cupertino_icons for UI

  3. simple_animations for UI animations

  4. page_transition for page transition animations

  5. firebase_core and supporting Libraries for Cross Platform Authentication and Database backend

    1. firebase_auth for Firebase Authentication System interfacing
    2. cloud_firestore for Firebase Firestore interfacing
    3. google_sign_in for Google Sign in using Firebase
  6. bloc for better Architecture and State Management

    1. flutter_bloc for interfacing blocs faster and better in Flutter
    2. equatable for debugging blocs and proper state tracking
  7. provider for less intensive State Management

  8. shared_preferences for storing simple data locally

  9. flutter_form_builder for easily building forms for Authentication and Database editing front end

  10. flutter_signin_button for a pre-made Google sign-in button.