Inspiration

We got inspired to create this project from our love of cooking and our desire to share recipes. We have never found an app that suits what we envisioned (combining social media and sharing aspects with meal planning and shopping lists), so we decided to create our own!

What it does

The recipe app that we created can do many things to give you the most convenient and exciting experience in one app.

First, the Recipe page easily lets you look at and share recipes:

  • You can share recipes with anyone in the world and it lists them in a nice scrollable way that previews a picture of the recipe, preparation time, and servings it provides
  • You can upvote or downvote recipes and see how other people reacted to them, too, so you can choose the most liked recipe to use for your meal
  • You can share your own recipes by scanning a picture of one and our app will decipher the information automatically, so that you can share without going through the hassle of inputing all of the information your self
  • If for some reason you don't have a picture of the recipe or don't want to scan it, you can input a picture of it, the name of it, ingredients/amount, steps to make it, and you're done! It's that easy!
  • Finally, by just clicking on the picture of the recipe you can view everything from the ingredients to the steps in a new screen for you to follow while you make the meal! If you want to make more or less servings, you can just scale the recipe to suit your needs and it will automatically scale the ingredient amounts.

Second, the meal planning allows you to plan out the recipes from the same app for each day, 10 days or less into the future:

  • You can easily select if you want to see anywhere from 5-10 days into the future starting from the current day
  • You can add recipes using a fully functional search bar to each day that you found within the app!
  • Planning out meals has never been so easy!

Finally, the shopping list page gets the ingredients from the meal plan page recipes and allows you to choose which ones to add:

  • You can easily add any of the ingredients from the recipes, so you don't have to worry about ingredients you already own on your shopping list
  • The list is formatted in a friendly and easy to read way to help you efficiently shop!

How we built it

We first used Invision to design the UI of the app. Then we proceeded to build the app with Flutter to implement the UI, Firebase as authentication and database, and finally python as the backend server. We used the Flask library in python to create the server API. We then used the google vision API for OCR and then processed the output by using NLP with Spacy and data analysis with Numpy and Pandas. The frontend was fully done in Flutter which is how we made it able to run on Android and IOS! We also got more familiar with Git as we used that to collaborate on the project and share the code on the GitHub repository.

Challenges we ran into

  • We had to effectively manage and combine our skills to make up for the very different backgrounds that each of us have
  • Because some of us on our team were less familiar with Git than others, it was difficult to some certain errors, but with collaboration and time, we pulled through.
  • On the second day, one team member accidentally added all of their files on their computer to the GitHub which ended up being a tough challenge to overcome.
  • One of our group members was new to Flutter, too, which made it challenging because he was learning and coding at the same time!

Accomplishments that we're proud of

  • Sharing the recipes from phone to phone like a social media!
  • Being able to scan in recipes using OCR!
  • The ability to add recipes you chose from the app to certain days and plan out meals!
  • The ability to conveniently use the ingredients from those recipes chosen and automatically add them to the shopping list page!

What we learned

  • Git is an amazing tool to collaborate and solve problems in coding!
  • We learned how to efficiently use Git as a team instead of copying and pasting code between group members
  • How to use OCR in python and use that for the Flutter app!
  • How to display widgets in the frontend, so that they look elevated, even when the widgets and the background are the same color!
  • How to connect python and Flutter to create a multi-language system (some of us have not created one before)
  • We all learned more about Flutter and one of our group members did not know any Flutter before this!
  • How to use different dependencies like intl and Firebase dependencies in Flutter
  • How to use a version control system like Github to solve problems in our project when we merge the files we worked on

What's next for RecipeWorld

We are looking to fix some of the minor glitches in the app and try to test it on multiple phones in real life. Our main goal was and continues to be to put it on the App Store, so we are looking forward to hopefully working towards that goal!

Built With

+ 3 more
Share this project:

Updates