🍱 noms
A full-stack web application connecting students and college organizations to battle food insecurity and food waste.
Overview
Description
noms is a web app that allows college organizations to post the locations of free food on campus and for students to view and receive notifications for these posts.
Primary features include the ability to:
- create posts about free food on a college campus
- view posts at a college campus in a feed and on an interactive map
- subscribe/unsubscribe to notifications informing them of free food near them
The intended target audiences are:
-
College students, who are primarily motivated to use this app to find free food near them.
-
College organizations, which are motivated to use this app in order to quickly distribute leftover food so that it doesn’t have to go to waste, which has both monetary ($ spent on food isn’t wasted), environmental (food doesn’t end up in landfill), humanitarian (disadvantaged college students get food), and publicity (organizations can get more students at their events) benefits.
Motivation
The US is home to ~20 million students attending 4,000+ degree-granting institutions. Despite around 80% of students being awarded financial aid, researchers found that around half of students were still 'basic-needs insecure', which includes food insecurity, housing insecurity, and homelessness. Of this group, the most common challenge was food insecurity, with around 40% of respondents identifying with statements such as "I worried whether my food would run out before I got money to buy more", and "The food that I bought just didn't last and I didn't have money to get more".
The day-to-day programming on campus belies the reality of many students; while they struggle to gain reliable access to food, on-campus organizations host hundreds of catered events a year, ranging from quick club meetings to multi-day academic conferences and hackathons. When these events end, the leftover food needs to be consumed quickly or risk being thrown away. This potential source of food could be routed to those who need it most, but college organizations may find they lack the infrastructure to quickly notify and distribute their leftover food, despite the fact that the students are otherwise ideally located to receive the food.
It is not just students that suffer from leftover food being thrown out; the Earth does, too. This kind of potential food waste is, environmentally speaking, the worst kind there is: food that has completed the entire cycle of growing, transportation, storage, and preparation—just to end up in the bin.
noms hopes to bridge this gap between college organizations and students, and aid the environment while we're at it.
Technologies
- Frontend: HTML, CSS, JavaScript
- Backend: Java (Servlets)
- APIs:
- Testing: JUnit/Mockito (Java), Mocha/Chai (JavaScript)
- Assets: Fontawesome, Iconixar icons
- Build Automation: Maven
- Deployment: Google App Engine
Demos
Find your college
The landing page presents users the option to find their college's page. Upon typing, an autocomplete dropdown suggests college names.
Find food at your college
On a college's page, the map and feed allow users to browse food available at their college. The user is present on the map as a blue marker. Filters allow the user to narrow down the type of post.
Make a new post
The new post modal features validation for all of its fields and uses the Geocoding Service to automatically translate addresses entered by the user into map coordinates.
Sign up for email notifications
Signing up for email notifications allows users to get emails for each new post at their college of interest. They're greeted with a welcome email upon signing up.
Receive email notifications
Upon organizations making new posts at a user's college of interest, email notifications will give the user a brief overview of the event in question. The box's style is smaller than that of the welcome email to denote that a single post is a smaller event.
Usage
To run a local server, execute this command:
mvn package appengine:run
Authors
Google STEP (Student Training in Engineering Program) Pod #186, Summer 2020
- Email notifications
- Contact page
- Embedded maps
- Landing + about page
- Creating + storing posts
- Displaying posts
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
License
noms is licensed under the Apache 2.0 License.
Disclaimer
This is not an officially supported Google product.