Victor Hsin, Allison Kuo, Brinda Gurusamy, and Max Ingraham-Rakatansky
Given the recent news regarding Coronavirus, International House (I-House), a Berkeley residential housing community, has imposed strict rules limiting social gatherings to avoid potential spreading of the disease. To avoid contact, the dining hall and other public spaces have closed and instead students are required to collect food one by one and to avoid eating in large groups. In addition, the dining staff has requested that students feeling ill send emails to request food for delivery.
Our team would like to build a web app that would allow I-House students who are self-quarantining to request meals from the dining hall. Dining hall workers would be able to open a different part of the app and see all the orders for that day in one easy format. Runners (volunteer students) would then complete orders on behalf of the quarantined students and deliver meals outside students’ rooms. In addition to printing daily orders for easy completion, runners could also mark orders as delivered, helping them coordinate orders among themselves.
While I-House has already begun implementing measures for delivery for quarantined students, it would likely be difficult to manage if significant orders started coming in. This would provide a real-world tool to allow I-House to address a potential issue before it begins to strain existing resources.
In terms of design, both Google Forms and Google Sheets are strong templates for providing front-end functionality to users, with built-in features that allow for easy connection of data between them. Additionally, JSON data converted from the original Google Form is similar to NoSQL database formatting, which lends well itself to key-value dictionary pairs in Flask.
- Google Form
- Google Sheets
- Flask
- Google Sheets API
- MongoDB
- Project API
- Dining Hall Workers make a Google Form based on the day’s menu
- Form is linked to master Google Sheet
- Students enters Google Form order, which is passed to the Sheet as row
- Using Google Sheets API, pass spreadsheet row through Flask into MongoDB
- On webpage, Runners select daily orders to view
- Using Project API, retrieve MongoDB table of orders
- Runners select orders to deliver and mark completed orders
