/soc-craveaway-front

Front-end repository for our final project at the School of Code.

Primary LanguageJavaScript

CRAVEAWAY

CraveAwayResponsiveMockup2

An app created by Retro Boomin' for our final 4-week project at School of Code's Bootcamp (cohort 12). This is our front-end repository. You can check out our back-end here.

To view our deployed app, follow this.

Project details

Our problem statement

How can we provide alternatives to people's favourite foods, that are compatible with their individual dietary preferences, to help them live better lives? This is highlighted in our user stories including:

as a student, I want to efficiently browse options consisting of junk food alternatives

as a parent, I want to be able to provide a meal that is well balanced and affordable whilst sticking to my children’s specific dietary needs

Our solution

We took our project from an idea to a full-stack app which enables users to both browse through a collection of recipes and post their own tasty alternatives to a popular food craving, for everyone to enjoy!

Features

  • searching and browsing through all recipes, with or without an account
  • posting own recipe, with an account
  • favouriting a recipe for later viewing in profile, with an account
  • adding an ingredient to a shopping list located within the user's profile, with an account
  • responsive design: Craveaway can be used on both mobile on desktop devices; we worked with a mobile-first approach based on our mentors' advice as a fair amount of mobile users are anticipated for this type of application

Project Implementation

Technology

The front-end is written in Next.js and deployed to Vercel, with an Express.js server at the back-end deployed to Heroku. Authentication restricts certain features/pages and is handled via Auth0.

Organisation

We managed our workflow using Notion.io and implemented an agile methodology with daily stand ups and retros, as well as continuous deployment.

Testing

This repository contains a set of Cypress end-to-end tests.

Challenges

As a team, we decided to work with some new technologies, ensuring we were pushing ourselves whilst recognising our limits. As such, we worked with Next.js which took some getting used to, as well as tackled the customisation of Material UI components. When it came to planning and organisation, we quickly learnt we needed to improve our scheduling habits which we managed via regular catch-up sessions on top of the daily stand ups/retros.

Authors