Skip to content

dscgt/recycling_checkin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Recycling Checkout and Checkin

Daily check-out/check-in for recycling department crewmembers needing GT property.

This is part of a suite of apps made for Georgia Tech's OSWM&R, which also includes:

  • route-recorder: Buddy app for recycling department crewmembers working recycling routes
  • recycling-website: Management and data viewing portal for recycling department administrators

For Developers

Prerequisites

  • Flutter install
    • also be sure to set up your editor
    • After Flutter is installed, Flutter web support must be set up
      • make sure you have a recent Chrome or Chromium-based web browser installed
      • run:
        • flutter channel beta
        • flutter upgrade
        • flutter config --enable-web
      • More information here, though this documentation is not exact for our situation.
  • the Firebase CLI
  • access to our Firebase console
  • read/write access to this Github repo
  • read/write access to our private Github repo
  • credentials (see below)

Getting your credentials

  1. Go to our Firebase console settings
  2. Retrieve the code for the Firebase config object (Your Apps -> Web apps -> checkin-web -> Firebase SDK Snippet -> Config)
  3. Copy the file web/index-template.html to a new file, web/index.html
    1. Since this file contains your private config, it's been placed into .gitignore -- do not attempt to un-ignore it
  4. Replace the firebaseConfig variable in web/index.html with the Firebase config object

This process initializes Flutterfire, the official Firebase services for Flutter, with our credentials.

It is not necessary to secure Firebase API keys like this, but we do so as an extra layer of security.

Running this code

This project uses Firebase Firestore.

To run locally for development:

  1. In a CLI, install dependencies with flutter pub get (this is also easily done in the Android Studio UI)
  2. Set your output device to be a web browser; this option should have been made available by the Flutter web setup
  3. In the root directory of this project, run firestore emulators with firebase emulators:start --import=./test/sample-data
    1. Only Firestore is emulated. The app will use the emulated Firestore instance instead of the production instance.
    2. Firestore Rules are not emulated, so be mindful when testing new changes.
    3. Some sample model data will be initialized for your testing convenience. You can also add more models in the emulator UI.
  4. In another CLI window or tab, run the app with flutter run --dart-define=ENVIRONMENT=development

Deploying this code

The current deployment method builds this Flutter project as a webapp and deploys it to a private Github Pages instance.

  1. Make sure our private Github repo is cloned to your machine
  2. In your clone of the private repo, delete all non-hidden files (don't delete the .git directory, of course)
  3. In a CLI, navigate to this app and build for the web with flutter build web
  4. Copy the contents of the build/web directory to your clone of the private repo
  5. Push the changes of the private repo

More information:

About

Made by the Developer Student Club at Georgia Tech.

About

Simple check-in and check-out for GT OSWM&R.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages