{"id":22382176,"url":"https://github.com/googleinterns/noms","last_synced_at":"2025-07-31T03:31:19.783Z","repository":{"id":103689854,"uuid":"273541409","full_name":"googleinterns/noms","owner":"googleinterns","description":"🍱 A full-stack web app connecting students and college organizations to battle food insecurity and food waste.","archived":false,"fork":false,"pushed_at":"2025-02-11T12:15:08.000Z","size":71075,"stargazers_count":7,"open_issues_count":6,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-06T18:50:39.976Z","etag":null,"topics":["css","google-app-engine","html","java","javascript"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/googleinterns.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-19T16:37:24.000Z","updated_at":"2023-12-07T14:30:02.000Z","dependencies_parsed_at":"2023-04-18T11:06:38.638Z","dependency_job_id":null,"html_url":"https://github.com/googleinterns/noms","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/googleinterns/noms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleinterns%2Fnoms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleinterns%2Fnoms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleinterns%2Fnoms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleinterns%2Fnoms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/googleinterns","download_url":"https://codeload.github.com/googleinterns/noms/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleinterns%2Fnoms/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267983365,"owners_count":24176058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-31T02:00:08.723Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css","google-app-engine","html","java","javascript"],"created_at":"2024-12-05T00:12:04.300Z","updated_at":"2025-07-31T03:31:19.771Z","avatar_url":"https://github.com/googleinterns.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🍱 noms\n[![Build](https://github.com/googleinterns/noms/workflows/Build/badge.svg)](https://github.com/googleinterns/noms/actions) [![Test](https://github.com/googleinterns/noms/workflows/Test/badge.svg)](https://github.com/googleinterns/noms/actions) [![Lint](https://github.com/googleinterns/noms/workflows/Lint/badge.svg)](https://github.com/googleinterns/noms/actions)\n\n\n\u003eA full-stack web application connecting students and college organizations to battle food insecurity and food waste.\n\n## Overview\n- [Description](#Description)\n- [Motivation](#Motivation)\n- [Technologies](#Technologies)\n- [Demos](#Demos)\n  - [Find your college](#find-your-college)\n  - [Find food at your college](#find-food-at-your-college)\n  - [Make a new post](#make-a-new-post)\n  - [Sign up for email notifications](#sign-up-for-email-notifications)\n  - [Receive email notifications](#receive-email-notifications)\n- [Usage](#Usage)\n- [Authors](#Authors)\n- [Contributing](#Contributing)\n- [License](#License)\n- [Disclaimer](#Disclaimer)\n\n## Description\n\n**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.\n\nPrimary features include the ability to:\n- create posts about free food on a college campus\n- view posts at a college campus in a feed and on an interactive map\n- subscribe/unsubscribe to notifications informing them of free food near them\n\nThe intended target audiences are:\n\n- *College students*, who are primarily motivated to use this app to find free food near them.\n\n- *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.\n\n## Motivation\n\nThe US is home to ~20 million students attending 4,000+ degree-granting institutions. Despite [around 80%](https://nces.ed.gov/fastfacts/display.asp?id=31) of students being awarded financial aid, researchers found that [around half](https://hope4college.com/wp-content/uploads/2018/10/StillHungryMA-4-1.html) of students were still ['basic-needs insecure'](http://ccsne.compact.org/wp-content/uploads/large/sites/50/2017/07/Basic-Needs-Insecurity-College-Students.pdf), which includes food insecurity, housing insecurity, and homelessness. Of this group, the most common challenge was food insecurity, with [around 40%](https://hope4college.com/wp-content/uploads/2018/10/StillHungryMA-4-1.html) 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\".\n\nThe 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.\n\nIt 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](https://moveforhunger.org/the-environmental-impact-of-food-waste): food that has completed the entire cycle of growing, transportation, storage, and preparation—just to end up in the bin.\n\n**noms** hopes to bridge this gap between college organizations and students, and aid the environment while we're at it.\n\n## Technologies\n\n- **Frontend**: HTML, CSS, JavaScript\n- **Backend**: Java (Servlets)\n- **APIs**:\n  * [Google Cloud Datastore](https://cloud.google.com/datastore)\n  * [Google Maps JavaScript API](https://developers.google.com/maps/documentation/javascript/overview)\n  * [Gmail API](https://developers.google.com/gmail/api)\n  * [Google Geocoding Service](https://developers.google.com/maps/documentation/javascript/geocoding)\n  * [Google Secret Manager](https://cloud.google.com/secret-manager)\n  * [Google Cloud Scheduler](https://cloud.google.com/scheduler/docs)\n  * [Google Blobstore API](https://cloud.google.com/appengine/docs/standard/java/blobstore)\n- **Testing**: JUnit/Mockito (Java), Mocha/Chai (JavaScript)\n- **Assets**: Fontawesome, [Iconixar](https://www.flaticon.com/authors/iconixar) icons\n- **Build Automation**: Maven\n- **Deployment**: Google App Engine\n\n## Demos\n\n### Find your college\nThe landing page presents users the option to find their college's page. Upon typing, an autocomplete dropdown  suggests college names.\n\n![](https://user-images.githubusercontent.com/35010111/91064467-24261080-e5e4-11ea-9954-b1712004ebb8.gif)\n\n\n### Find food at your college\nOn 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.\n\n![](https://user-images.githubusercontent.com/35010111/91066586-bd562680-e5e6-11ea-9248-8b3ef66ad6dc.gif)\n![](https://user-images.githubusercontent.com/35010111/91067113-5e44e180-e5e7-11ea-9026-bf5ca84d6b9c.gif)\n\n\n### Make a new post\nThe 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.\n\n![](https://user-images.githubusercontent.com/35010111/91067907-5afe2580-e5e8-11ea-98c9-07d6fd0ae721.gif)\n\n### Sign up for email notifications\nSigning 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.\n\n![](https://user-images.githubusercontent.com/35010111/91069224-fba11500-e5e9-11ea-8e01-6e17694f9a73.gif)\n\u003cimg src=\"https://user-images.githubusercontent.com/35010111/91068374-09a26600-e5e9-11ea-982e-579fd0f8c943.png\" width=\"800\"\u003e\n\n### Receive email notifications\nUpon 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.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/35010111/91069756-a4e80b00-e5ea-11ea-9616-2a653af159c8.png\" width=\"800\"\u003e\n\n## Usage\n\nTo run a local server, execute this command:\n\n```bash\nmvn package appengine:run\n```\n\n## Authors\nGoogle STEP (Student Training in Engineering Program) Pod #186, Summer 2020\n\n[@areetaw](https://github.com/areetaw):\n- Email notifications\n- Contact page\n\n[@mirrorkeydev](https://github.com/mirrorkeydev):\n- Embedded maps\n- Landing + about page\n\n[@ubahl](https://github.com/ubahl):\n- Creating + storing posts\n- Displaying posts\n\n\n## Contributing\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n**noms** is licensed under the Apache 2.0 License.\n\n## Disclaimer\nThis is not an officially supported Google product.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogleinterns%2Fnoms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoogleinterns%2Fnoms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogleinterns%2Fnoms/lists"}