Inspiration
The MIT mailing list free-food is frequently contacted by members of the community offering free food. Students rush to the location of free food, only to find it's been claimed. From the firsthand accounts of other students as well as personal experience, we know that it's incredibly hard to respond fast enough to free food when notified by the mailing list.
What it does
F3 collects information about free food from the free-food mailing list. The location of the food is parsed from the emails, and then using the phone's GPS and the whereis.mit.edu API, the distance to the food is calculated. Using a combination of the distance and the age of the email, the food listings are sorted.
How we built it
This app was built with Android Studio using Java and a few different libraries and APIs.
Emails from free-food@mit.edu are automatically forward to a Gmail account that the app has access to. Using an android mail library, we parsed the location (in the form of various names, nicknames, to determine which building food is located at. Then, the user's location is taken to calculate the distance between the free food and the phone's GPS location. The user receives a list of free food, including the building/location, distance from their own coordinates, and the 'age' of the free food (how long ago the email was sent).
Challenges we ran into
At first, we wrote the mail reading/parsing code in vanilla Java outside of Android studio. However, when we tried to integrate it with the app, we realized that Java libraries aren't necessarily compatible with Android. Hence, a considerable of time late at night was put toward reworking the mail code to be compatible with Android.
Also, there were difficulties in retrieving GPS coordinates, especially with regard to accessing fine location permissions and various stability issues.
Accomplishments that we're proud of
- Creating our first app (none of us had prior Android development experience)
- Making horrible puns
What we learned
- How to sort-of use Android Studio
- How email/IMAP works
- How to use Git/GitHub
- How to use regular expressions
What's next for f3
- Settings for a search radius
- Refresh periodically in background
- Push(een) notifications
- More Pusheen
Log in or sign up for Devpost to join the conversation.