Inspiration
Good food important to living a happy life, but eating the same things can get boring. Reciparser was designed for the moments where you are looking for something new. In addition to these moments, Reciparser can be used for the moments when only leftover groceries remain or you feel a craving for a certain ingredient but are not sure what to make with it. Reciparser was our solution to all of these problems that it's not too uncommon for students to run into.
What it does
Reciparser takes input of ingredients space separated and returns a list of recipes based off matched ingredients. The recipes span a broad range from simple dips to full entrees. With the ingredients cheese, bacon, eggs, bread, and spinach, you might find a recipe for Mozzarella Sticks or Egg Ribbon Soup. Recipiarser has over 70,000 recipes, each unique and their own.
How we built it
Our project has clear lines of being divided between front-end and back-end. We wanted to use Python, so we use Flask to develop the front-end. We pulled our data from https://eightportions.com/datasets/Recipes/#fn:1
Challenges we ran into
Our group had no prior experience with any front-end aspects. Flask was a great help and an improvement over writing html, css, and javascript by itself. However we had many difficulties with Flask and the remaining amount of work we had to do in css and html. One of the most persistent problems was our page becoming unreadable after a minor change or text just completely disappearing. We were also debating to use React and even had a working model before making the decision to go with our Flask model. A result of our no prior experience was our limited time in working towards more functionality. We planned on making a web scraper and putting our data into a proper database. These were two processes that we had no experience with either and the learning was somewhat slow going.
Accomplishments that we are proud of
We are very proud that our web app is functional and looks nice. Going into this project with no front end experience, we worried that our project would be less than pretty. Overcoming the formatting issues and display issues were always very satisfying.
What we learned
We learned a reasonable amount of Flask, css, and html and gained valuable experience with it. Html and css are quite different from what we have learned before and we strove to make something with it. Our early start with React was also valuable. Even though we scrapped it, it was still a beneficial learning experience and exposed us to differences and other insights.
What's next for Reciparser
We pushed for adding more search parameters in the recipe beyond ingredients, but we were unable to implement them in a way we were satisfied with. Building a web scraper to provide us with a better data set was one step towards this goal that we did not finish. Our app is also somewhat slower than we would like. Putting our data into a SQL server or a into a proper database would allow for better methods of finding the data we want to return. A database would also make sense if we pushed for holding more recipes and more information about those recipes.
Log in or sign up for Devpost to join the conversation.