The inspiration for Citrus came from all members of our team feeling the pain of having many random ingredients in the fridge, but no idea how to use them. This led to going hungry, food waste, and overall sadness.
What it does
By putting in a list of your ingredients you have on hand, our app will search across many websites and give you personalized recipes on how to use them. With it's deep search functionality, and recipe previews, you can find something amazing to cook.
How we built it
The back-end was built using Ruby On Rails and and Postgresql database, and the front-end is built with React, Node and Webpack architecture. The backend is built as RESTful API, serving JSON for the front-end. Along with our search algorithm, an HTML parser is used to scrape different recipe websites to grab all the recipe information. The recipe information presented to the user is saved to our database after parsing, to serve results much quicker on later searches across any user.
Challenges we ran into
The biggest challenges on the backend were learning the technologies to parse websites, and in turn how to save that information. As well, we had never built a JSON API before, so there was lots of learning on the fly on how to use Rails as an API. On the front-end, React was an entirely new technology to the team, so it was a lot of learning by doing, and a great first experience on how to use a powerful technology.
Accomplishments that we're proud of
As a team, we are extremely proud of having a working end-to-end product that encompasses the goal we set out 24 hours ago. We kept pushing past our challenges, and never got discouraged. We are also proud of how effectively we were able to combine our knowledge as a team, each using our areas of knowledge to assist each other
What we learned
We learned that with a clear goal in mind, and a commitment to put in the effort, no goal is far out of reach. We also gained valuable experience with different technologies and have a starting point for future learning.
What's next for Citrus
As a team, we are all interested in where we can take this concept, and definitely want to build upon what we have now.