Inspiration

During our ideation process, we focused on problems that we, as college students, face on a daily basis. All our ideas surrounded one general topic- food. A human necessity and yet we often struggle on a daily basis. To maintain a healthy lifestyle, the easiest way is to cook our meals instead of resorting to food from the dining halls. Cooking, however, is a luxury. Money is not very accessible as college students and due to this, at times we resort to foods that do not maintain healthy lifestyles.

This inspired the idea of creating an app that would automatically add ingredients to a shopping cart and order them directly at grocery stores. The app would find the cheapest and most viable options given certain criteria and present that to the user.

What it does

Through this app we developed, we showcase recipes and add their respective ingredients to a cart that is directly connected with grocery stores. The app is also able to find the cheapest option and most viable option given location of the user. There are options to select recipes based on cuisine, dietary restrictions, and ingredients already accessible to the user. This app seamlessly allows recipes to be put into shopping carts and sent to grocery stores for pick up, immensely decreasing the time needed for these tasks.

How we built it

The app was built using Flutter, which uses the language Dart. Most of the team members had never delved into Flutter, and it was an entirely new tool to figure out. The development process occurred in three main segments: whiteboard sketching, implementation, debugging. The whiteboard sketching helped us assess which components we want to implement and how each screen will look. This process allowed all team members to collaborate and join ideas, which ended up as our final product. The implementation process was the most grueling and time consuming of the development. Each team member worked on a separate component of the app, which had its own struggles. Since Flutter was a new concept for us, we went through the pattern of many tutorials, articles, and StackOverflow readings. The last step was essentially cleanup after combining our respective tasks together. Although the errors became tedious, it was a learning journey for all of us.

Challenges we ran into

Majority of our challenges were technical related and were dealt with by continuous debugging and collaboration. One of the largest challenges, was figuring out how to save the data created by the user when checking or unchecking items in the cart. This problem worked hand-in-hand with the issue of uploading a database that contained grocery items and their respective prices. Once this issue was resolved, much of the project started progressing much faster than before and we were able to add additional features such as allowing a user to add their own grocery items.

Another issue that halted our progress in the beginning was the restrictions on many of the APIs we were planning to use in the project. For example, the Walmart API was restricted for only verified sellers, not allowing us to retrieve store information such as prices and items.

Accomplishments that we're proud of

As a team, we are proud to have accomplished this project given the time constraints of this hackathon. Given that Flutter was an entirely new tool for the team members, we have learned many new skills that we plan to use in future projects. As a team, we definitely worked efficiently and allocated tasks properly to allow the project to progress positively. For many of us, this was our first hackathon and it was a very different, yet exhilarating experience.

What we learned

We learned how to best collaborate on coding projects such as these and how to go about figuring out new tools that we have not ventured into. This is only a small example of what many developers experience in their daily life and we are all excited to see how future projects turn out for us. Many errors are to be expected but we did not immediately give up. It takes persistence to figure out the core of the issue and implement solutions in order to prevent other errors in, perhaps other files.

What's next for Cookin'

Cookin' expects to implement location features and new recipes to allow even more customizability. It is important for users to have as many options as possible in order for the app to function as how it was built. We also plan to hopefully collaborate with actual grocery stores so the process becomes truly seamless.

Built With

Share this project:

Updates