FoodMap is a map of Princeton University showing all the places students can get free food in real-time. It is a project for COS 333, Spring 16-17.
Contributors:
Seung Jae (Ryan) Lee (seungjl@princeton.edu) – Project Leader
Michael J. Friedman (mjf4@princeton.edu)
Nathan Mytelka (nmytelka@princeton.edu)
Rachana Balasubramanian (rachanab@princeton.edu)
Mentor:
Robin Qiu
Documents
Elevator Pitch
Did you know: right at this very moment, there’s a good chance that the COS department is giving away free food outside the auditorium after some talk? Or there’s a presentation in PNI and you’re missing a fantastic spread of sandwiches? “What? Why didn’t I know about that?” Because the only way you could keep up with all of these opportunities is if you’re watching the freefood listserv like a hawk! I mean, who really has the time to sift through all those “Lost jacket!” and “Anyone have a screwdriver?” emails to find out where the free food is? Enter FoodMap: we do that for you. Launch our website, and right there in front of you is a map showing you exactly where to go for free food. You don’t even have to use your email to submit food – just use the form linked directly to our map. It doesn’t get easier than that!
Milestones
Stage 1) Core app
- Create a database (3/24)
- Interface into Python/Django
- Interface into Node.js
- Create a Project Gmail Account, subscribe it to free food listserv (3/17)
- Scrape the free food listserv (Node.js)
- Compile list of all possible location (3/19)
- Compile list of all food types (3/19)
- Implement the scraper: Finished by (3/23)
- Use substring searches (possibly regular expressions) to determine the type of food and the location
- Store this information in the database (3/26)
- Set up Heroku for deployment (4/5)
- Build web app: use the information in the database to populate the interface (Django)
- Set up framework (3/25)
- Design/implement user interface
- Layout of interface (3/24)
- Html implementation (4/3)
- Implement map in the webpage (Leaflet) (4/3)
- Retrieve information from the database, populating map (4/9)
- Get location of the user with HTML5 Geolocation API (4/9)
- Tap on markers for info window with description of the offering (4/9)
- Colored pins based on timestamp/urgency
Stage 2) Improvements
- Allow users to enter free food spots from the web app via a form
- Make the form
- Insert results into database
- Add weekly events that consistently generate free food
Stage 3) Future
- Use natural language processing to improve the reliability of email scraping
- Use ML to refine algorithm for directing you to free food – take into account
- How fast the food is going to disappear by location, type of food
- Allow users to search/filter food offerings by:
- Dietary restrictions
- Food categories
- Urgency (how soon food will disappear)
- Distance (within a radius of user’s location)
- Add the option to complain about weekly events that either:
- the food was never present (and the weekly event is removed) or
- the food was gone before the event “started” (if this happens regularly, remove it as well).
