Project 5: Firebase Setup

Overview

In this project, you will be setting up generic Flutter app which uses cloud storage. You will learn more about GitHub, and practice testing your code in Flutter.

Learning Goals

Course Learning Goal Learning Goal Career Competency
LG1 Understand the benefits of cloud storage and communication Professionalism

Step 1 – Basic Firebase Tutorial

Flutter has published many tutorials on adding functionality and styling to your apps called CodeLabs. In this project, you will first follow the codelab for Firebase.

To get started, make a new repository on GitHub called firebase_demo. Clone this repository to your local computer, and create the basic flutter app that started Project 1. This will give you a personal space to record your progress.

Copy the following files from the step_02 directory into your firebase_demo project.

  • assets
    • codelab.png
  • lib
    • src
      • authentication.dart
      • widgets.dart
    • home_page.dart
    • main.dart
  • pubspec.yaml
  • test
    • widget_test.dart

From the terminal, run flutter pub get to make sure the packages are installed. Run the project on your emulator or device to ensure everything is working.

After completing each step of the tutorial, make a commit and push to GitHub.

Step 2 – Unit Testing

You now have a basic guestbook app running with cloud storage! Pick one of the following extensions to solidify your knowledge about firebase.

  • Change the YES / NO attending selection to let users enter integer number of people attending.
  • Allow attendees to select their favorite pizza toppings and display the results as a table.
  • Let users select an individual color for their messages, which will be displayed globally.
  • Something else you get approved by Dr. Goadrich.

Grading Rubric

To Partially Complete this lab, you must

  • Create a new repository for the firebase demo
  • Complete most of the steps of the tutorial

To Complete this lab, you must do the above and

  • Complete all of the steps of the tutorial
  • Complete one extension
  • Consistently make GitHub commits