Inspiration
Covid-19 has everyone cooped up inside their homes all the time. To cope with their slow--isolation-induced--descent into insanity, many chose to pick up hobbies. Baking and Cooking are excellent ways to pass the time, but there is nothing more tedious than looking for recipes and having to read someone’s life story before you get to the actual process. Finding stuff to make is time-consuming, oftentimes confusing, and sometimes feels impossible if you’re not ready to get out of your comfort zone. However, attempting to streamline the cooking process we have a solution:
Introducing, Nourish!
The streamlined one-stop app for finding, saving, and sharing your favorite recipes. Nourish provides you a curated list of recipes based on your preferences to help you figure out what to cook. The process is straightforward and devoid of any of the boring fluff that recipe websites are known for. Simply swipe right on recipes that seem tasty, and left on those that don’t: it’s that simple. Liked recipes will be saved instantly for review, and with only a few taps you see all the ingredients and steps needed to start making your delicious meal.
How It Works
Nourish is a mobile app that makes heavy use of Flutter and CockroachDB:
CockroachDB:
CockroachDB is used as the central database in which all users, their data, and uploaded recipes are located. Interactions with CockroachDB are made through the psycopg2 module in Python. On app start, Flutter (and the underlying components in Dart), connect to the Python backend using RESTful API’s. The backend, in turn, retrieves/uploads the requested/provided information from CockroachDB. For example, there is frequent use of Foreign Keys to track all the recipes liked and saved by a user, which is then retrieved to display these recipes on the Flutter frontend, as well as user login details, and recipe ingredients/steps.
Challenges Faced
Nourish started as an ambitious project. In line with the time constraints of the hackathon, many features went unimplemented or were outright canned. We deemed it important to get the core features ready to present. The most prominent challenge was a lack of experience with Flutter and Dart. The backend portions of Nourish are very robust and effective, but inexperience with Flutter/Dart meant that we were learning as we programmed. Our implementation was not to our liking, and there are still frequent interfacing issues between the front and back end of Nourish (such as images failing to load correctly, widgets rendering before the backend provides required data). We feel, however, that given enough time and research, Nourish can be significantly improved on and ultimately end up as a robust and useful application.
Built With
- android-studio
- cockroachdb
- dart
- flask
- flutter
- postgresql
- python
- rest
Log in or sign up for Devpost to join the conversation.