Skip to the content.

Sustainer

Table of contents

Overview

What is Sustainer?

Sustainer is a reusable container tracking app that helps users and the non-profit Zero Waste O’ahu stay accountable for the return of reusable takeout containers at large events. The initial Full Cycle Takeout pilot program, responsible for creating and renting out reusable takeout containers, has already shown promise in reducing waste for restaurants, but has struggled with the return of the containers. This makes the program unsustainable financially and unsustainable for the planet. Failing to solve this problem leads to more one-time use products becoming trash and more reusable containers needing to be produced. Sustainer aims to solve this problem by providing a platform for Zero Waste O’ahu to track rented out containers and provide incentives for their return.

Goals of the app

Our web app aims to provide the following features:

  • Account registration
  • Reusable container ownership tracking
  • Ordering containers from vendors
  • Distributing containers to vendors from organization
  • Collateral payments if a container is not returned
  • QR code scanning and generation
  • Tracking of returned and non-returned containers
  • Application Design

    The following describes the design process for our app:

    Data model

    The data model for Sustainer consists of two “primary” collections (Accounts and Containers), along with one “join” Collections (ContainersByRole) and one supplemental collection (Credit Card).

    We decided to present the model in this way to easily keep track of the ownership for each container. Here are some reasons for our design:

    Here is an example schematic of the database:

    The fields labeled PK (Email for Accounts) indicate that this is a unique value so that they can be used as a primary key for that collection. This constraint is enforced in the schema definition associated with that collection. The label FK represents the foreign keys that are used from other collections.

    Application Flowchart


    Deployment

    You can view our deployed app here: https://sustainer.online


    User Guide

    This section provides a walkthrough of the Sustainer web app including its user interface and its capabilities.

    Landing Page

    The landing page is presented to users when they first visit the site. It provides a brief overview and purpose of the app.

    User Registration Page

    To order the reusable containers at events, users must sign up by clicking on the “Sign up” dropdown menu in the upper right corner of the navbar. This registers the user into a system at a certain event and generates a QR code to act as an “ID” for the event.

    Login Page

    For returning users, click on the “Login” button in the dropdown located in upper right corner of the navbar, then select “Sign in” to go to get your newly-generated QR code for the event. You must have been previously registered with the system to use this option:

    User Home Page

    After logging in, you are taken to the home page, which presents generic information on how to use the app. On this page, there are options to link your credit card information and get your QR code.

    QR Code Generator

    Clicking on “Generate QR Code” will display the user’s personal QR code. This will be used when the user orders food at the event. Customers will scan the QR at a food truck or vendor, which will “assign” those containers to them during the event. This helps admin keep track of the containers.

    Payment Portal

    Clicking on “Choose Payment Method” will direct you to form where you can link and input your credit card information. Credit card information is used as collateral for any containers that are ordered and not returned within a specific limit or duration of the ongoing event. Upon ordering containers, there will be a pending charge based on the number of containers ordered, with each container charged at a flat rate. Payment will not be processed on your account if containers are returned before the end of the event.

    Vendor Order Form

    Upon log in as a vendor, a form is displayed to allow vendors to order a certain number of containers for an event. This allows the Full Cycle Takeout program to accurately distribute the right number of containers to each vendor before a customer uses them when ordering take-out at the event.

    Vendor Order History Page

    Clicking on the “List Vendor Orders” nav link will show a history list of order forms that a vendor has filled out for all previous and upcoming events. Vendors will be able to edit current pending forms for an event that hasn’t passed. They can also delete forms from their history.

    Scan QR Code Page

    After an event is over, moderators (workers) and administrators of the organization can use this page to scan QR codes on the containers and check them back in. This confirms that the user/consumer has returned all of their “assigned” containers from the event. Proper authorized accounts can only access this page by clicking on the “Scan Containers” nav link upon signing in.

    Admin Stats Page

    Upon log in as an admin, moderators and administrators can view all containers during an event to accurately track them. This will display all the available containers, as well as the owner that is assigned or responsible for a specific container. The database table UI will also have a search and filter function to find a certain container and check if a specific user has returned their containers respectively.

    There is also a percentage graphic to show the retention rate of the containers. The pie chart will update in real-time when containers are taken out and returned by customers at the event. An environmental graphic will also correspond with the percentage of the containers that are returned. This will indicate the effectiveness of the take-out and return procedure at events, while also evaluating the “efficiency” of this app’s functionality.


    Team BitByBit

    Sustainer is designed and developed by:

    Developer Guide

    This section provides information of interest to Meteor developers wishing to use this code base as a basis for their own development tasks.

    Installation

    First, install Meteor.

    Second, visit the Sustainer application GitHub page, and click the “Use this template” button to create your own repository initialized with a copy of this application. Alternatively, you can download the sources as a zip file or make a fork of the repo. However you do it, download a copy of the repo to your local computer.

    Third, cd into the BitByBit/app directory and install libraries with:

    $ meteor npm install
    

    Fourth, run the system with:

    $ meteor npm run start
    

    If all goes well, the application will appear at http://localhost:3000.