Team HypeScript
presentUmami

Cook. Share. Collaborate.

Umami is a recipe application with a difference. As well as viewing and posting original recipes, users can "fork" (copy) existing recipes, make edits, and submit their personal take on an original recipe to the site.

While navigating the site, users are able to see which recipes have been "forked" (copied) and follow the timeline for a particular recipe. This allows users to track how recipes have evolved over time, and compare similar versions of the same dish.

In essence, Umami is the culinary world's answer to GitHub, allowing for deep collaboration between users.

The home cooks in our team had noticed that existing apps do not offer the opportunity for users to suggest edits to recipes without leaving a comment. Scrolling through comments to find improvements can be both time-consuming and frustrating, so our "forking" system addresses this shortcoming and offers a seamless browsing experience.

Once we had settled on our idea, the back-end team drew up a sophisticated database schema and began designing endpoints to ensure the correct handling of data. With a versatile and extensive back end in place, our front-end designers were able to implement the functionality required for our MVP, while leaving scope for multiple additional features to be added at a later date.

We are content with the base functionality of our application, but are pleased to have also laid the groundwork for future development.

The Team

  • Team member imagePreview: Team member image

    Agata Mazek

  • Team member imagePreview: Team member image

    Glen Pearse

  • Team member imagePreview: Team member image

    Krasen Hristov

  • Team member imagePreview: Team member image

    Jakub Maladyn

  • Team member imagePreview: Team member image

    Dan Fletcher

  • Team member imagePreview: Team member image

    Yuliia Yakubiv

Technologies

Technologies section imagePreview: Technologies section image

We used: Back end: Dotnet, C#, xUnit, JWT, Firebase, Fluent Migrator, Dapper, PSQL, Swagger, Docker, GitHub Actions, AWS, Bash || Front end: TypeScript, React, Redux Toolkit, Vite, Axios, Docker, Github Actions, AWS, Bash

We adopted an ambitious and complex stack that provides a strong foundation for our application, coupled with great performance and maintainability. One of our main goals was to showcase our ability to learn and adapt to completely new technology on a tight schedule without compromising on quality.

We are proud of what we managed to achieve in such a short time with a completely new team, many of whom had not worked together before. We succeeded in prioritising our individual strengths for different areas of the project, while working together to deliver our application successfully.

Challenges Faced

As in any project, we faced many difficulties, but ultimately showed the tenacity required to overcome those challenges. With only eight days for active development, and an ambitious tech stack to adopt, we prioritised our MVP and the team's collective success, breaking down our goals into individual tasks and focussing on building our application one step at a time.

FAQs

  • How flexible is the app design, taking into consideration scope for future development?

    The project has been designed around the idea that users should be able to change their mind. The database is structured in a way that allows users to make additions or changes to their contributions in a safe manner. There is considerable scope for future development already built into the back end of the project. This was a key aim for our team, as we did not want to limit ourselves to the goals set for our MVP.

  • Where can we see the live version of Umami?