Inspiration
Eating alone at the dining hall is sad, especially when everyone else there seems like they have many friends to eat with, and sometimes we just skip meals when loneliness is too scary or trying to organize meals with friends is too difficult. It’s embarrassing texting five different friends, only to find out that you are the only one who doesn’t already have plans. It’s also a little awkward when you definitely could’ve eaten with someone, but you just miss each other at the dining hall and you both had lonely meals. Studies have shown that a majority of college students feel lonely, and loneliness can lead to serious mental health issues. However, coordinating meals in college is hard, especially when everyone has such different schedules. Sometimes, you just give up and don’t eat… but that’s not healthy (at all). We wanted to create a project that could help us get back on track, and bring up our average of 1.5 meals a day 💀. No one should eat alone if they don't want to, particularly if they don't have to.
What it does
Our project seeks to simplify the process of identifying friends’ daily meal plans and organizing plans to meet up for meals. The main page of the application shows a list of friends in your circle and their real-time statuses for meals. By clicking on one of the friend icons, you can see (and update) their availability for a meal on their profile page. From the home page and the profile pages, you have an option to add plans: after clicking on the + sign, users are able to add a meal plan and specify which friends they want to invite, the location, and time slot.
How we built it
We built our application with the Django framework using Python. This helped us handle database interactions and also encouraged modularity in our design. We developed our front end with Django templates, which helped us integrate dynamic data into an HTML structure.
Challenges we ran into
None of us have used Django before, so its framework took some getting used to. It was especially difficult figuring out how to format the front-end web application together with the Django forms. In terms of the app logic, we also spent a significant amount of time ensuring our relationships between different objects made sense in context of our problem. For instance, we needed to first determine which objects we wanted to store (users, time slots, plans, etc.), and then figure out relationships between them (1-to-1, 1-to-many, many-to-many). Additionally, we had many ideas initially that we had to scale down to produce a minimum viable product in time. In the process, we had to figure out which losses we should make and how to still achieve in implementing our original idea.
Accomplishments that we're proud of
We’re proud of being able to put multiple moving parts together, from the ideation of a project that would challenge us to the implementation of a working web application. We stepped outside of our comfort zone to explore new frameworks and challenge ourselves, and we managed to get a functional project. This is also something that we would use frequently ourselves, and we believe it could really make college students’ lives a little easier.
What we learned
Setting up the project is one of the most important stages—without a clear idea of how objects in the app work together, it could make implementing future functionalities much harder/impossible. In particular, we spent a lot of time making sure our logic for the relationships were sound before moving on to programming. We also learned that frontend is almost just as important as the backend capability of the app—a clean design not only elevates it but also allows users to easily use the app. It can certainly be the difference between a functioning app and one that others would like to actually use.
What's next for when2eat
Adding messaging capabilities Include interactive map function (enter meal locations and identify friends’ locations directly on a map) Scaling up database to support multiple different groups of people (i.e. some people can be friends with each other, but others may not be) Adding logins to allow users to edit profiles and plans Extending the date range to multiple days Extending the use of the application to support other healthy initiatives, such as taking a walk or going to the gym Adding invitations and notifications to plans Allowing the option to have lunch with another random college student whose meal availability matches up…more friends never hurt!
Log in or sign up for Devpost to join the conversation.