Our team loves to experiment with new recipes in the kitchen. Sometimes they turn out amazing, sometimes they are just disgusting. The problem is, we always forget to write down which one is which! We wanted a way to document our biggest cooking accomplishments and failures, as well as tracking and sharing our progress with our friends.
What it does
Your Test Kitchen is a web app designed to manage your personal recipes, as well as act as a social network for experimental cooks. You can create your own recipes, modify them, and see your recipes grow and evolve. Best of all, the site keeps a record of all the modifications you made (the good and the bad stuff), so you can always look back on your progress. You can even share recipes with your friends so they can branch off your ideas!
How we built it
The site is built with an Angular frontend with Angular material theming. The backend is Node and Express, with a MongoDB to store the data. We used typescript throughout the application, using shared type definitions between the UI and server-side repositories. Our website is hosted on an Amazon Web Services EC2 instance.
Challenges we ran into
It was a challenge to figure out what goes into a recipe, and how to make our schema flexible enough to give users a chance to express their opinions on their recipes. We struggled with developing a branching structure between recipes using a NoSQL database and documenting relationships and progress of the recipes.
Accomplishments that we're proud of
We created a responsive Angular frontend despite having no experience developing Angular applications beyond debugging. We are proud to have a unified navigation experience and login flow. In addition, we created a functional editing interface for recipes that is responsive and error-tolerant. But most of all, we are proud to have stayed up all night to learn and push our boundaries.
What we learned
We had to learn a lot about Angular and designing reusable frontend components for our editing interfaces. We also explored UI/UX as we considered theming and user navigation.
What's next for Your Test Kitchen
We want to explore more sharing features and turn Your Test Kitchen into a real social network. Also, we want to enhance our editing features, such as adding a tree view and diffs between different recipe versions.