Team Event Handlers
presentThe Daily Dish

The Daily Dish Demo Video

The Daily Dish Demo Video

Your all-in-one meal-planning companion

Ever wake up wishing your meal planning could be more organized and less stressful? Introducing The Daily Dish—your ultimate solution to effortless meal prep. We handle the planning, so you can focus on what matters most: YOU.
With just a few clicks, you can explore a wide variety of meals and effortlessly add them to a calendar that's already in your pocket—your Google Calendar. The Daily Dish lets you browse recipes while seamlessly adding ingredients to your shopping list. For the culinary enthusiasts, you can even create and customize your own recipes. This is The Daily Dish—your all-in-one meal planning companion.

The Team

  • Raphael JegedePreview: Raphael Jegede

    Raphael Jegede

  • Nick WilsonPreview: Nick Wilson

    Nick Wilson

  • Lian TattersallPreview: Lian Tattersall

    Lian Tattersall

  • Jisha JoshiPreview: Jisha Joshi

    Jisha Joshi

  • Nathan BlanchPreview: Nathan Blanch

    Nathan Blanch

Technologies

Svelte, TailwindCSS, Firebase, Axios, Express.js, Preview: Svelte, TailwindCSS, Firebase, Axios, Express.js,

We used: JavaScript, SvelteKit, Svelte, CSS, HTML, TailwindCSS, Firebase, Axios, Express.js

We chose Svelte because it runs with a compiler instead of the virtual DOM, creating a super fast website that is fun to develop in. Firebase enabled a non-relational database with Google Authentication so that we could leave the security handling to them. It was the perfect balance between learning exciting new technologies and reinforcing our knowledge of the ones we were already familiar with.

Challenges Faced

We encountered two main problems - testing with a cloud database and trying to get data to persist in the web app between refreshes. Using Firestore in the cloud slowed down our testing as we had to wait between requests, unlike when using a locally run database. Getting data to persist between refreshes led to us using localStorage which does not save between sessions, an unfortunate circumstance we didn't recognise until too late. We could have tackled this in the backend much earlier on.