352 Basic Functionality - bounswe/bounswe2024group1 GitHub Wiki

Basic Functionality of Semantic Cuisines

image

Semantic Cuisines is a semantic cuisine exploration and recipe sharing platform. Users of the application are able to search for dishes using cuisines, types, ingredients and the countries of a dish. We have a simple UI.

Our application supports Guest and Registered Users. Guests are able to browse dishes, recipes and Registered User's profiles. Registered Users are able to bookmark recipes, see who bookmarked recipes, rate recipes, comment on recipes, upvote existing comments, follow other users, create new recipes for any dish, copy links to recipes to share a recipe and delete their own recipes if needed.

Guest functionality

Guests have access to the Explore feed which show recent recipes shared by users registered on the platform.

Going into a recipe's page will show the recipe's author, its average rating, its linked dish, country, allergens, serving size, cook time, description, steps, ingredients, and the comments made by other users

image image

Searching for dishes

A guest user can also search for dishes in certain cuisines by filtering by cuisine and food type.

Important Note: The search filter has to be confirmed before it's applied. Please make sure to press the Confirm button to make sure that your filter applies. You can check if your filter is applied by looking at the color of the filter icon: Red means applied filters exist, white means that there are no filters.

image image

Dish page

A guest can see dishes in the search results and look at the recipes for a dish by going into that dish's page.

image

image

Profile page

A guest can see other user's profile pages and also view the recipes that they've published (by clicking on the profile icon/name in the recipe page).

image

Note that the Follow button redirects to the login page if the user is not logged in.

User functionality

image

First, we log in using the login button on the top right and the login page that pops up.

Following feed

After, we are redirected to the home page, where we now have access to the following feed which shows recipes from the users we follow.

image image

Recipe interaction

Registered users are able to create recipes, bookmark recipes, see bookmarkers, rate recipes, comment on recipes, upvote comments, and delete their own recipe.

All of these functionalities appear after a user has logged in.

The delete button on the top right will delete a recipe directly without confirmation.

The bookmark button on the top right will bookmark a recipe.

The stars will rate a recipe when clicked on, they also show the to-be rating when hovered.

The See bookmarkers button opens a modal where all the bookmarkers of a recipe is shown.

The dish link can be used to go to the dish page that the recipe is linked to.

image image

Additional info

Bookmarking a recipe can also be done through the recipe card.

Bookmarks

In the profile dropdown on the top right, a user can access their profile, bookmarks and can log out if needed.

image

The bookmarks page accessed from this panel lists all the recipes that are bookmarked by the user.

image

Recipe creation

A user can create a recipe using two ways:

  1. Through the dish page.
  2. Through their profile page.

If the user goes to a dish page, they'll see a + icon that will allow them to create a recipe that's linked to that dish.

image image image

After creation, they'll be redirected to the Recipe Page.

Second way is to use the profile, where they can click on the + icon in their profile to create a recipe that is not linked to any dish. This recipe is only accessible through the feed or that user's profile.

image

User interaction

A user is able to follow other users, comment on their recipes and upvote comments written by other users.

Following can be done through the profile of another user, which was shown in the Guest section of this guide. Or it can be done through the bookmarkers list available on any recipe (accessed through the see bookmarkers button):

image