Skip to content

Recipe Selection Service is a web app for searching recipes by ingredients and dish type, with user reviews and admin-added recipes, developed for a CTU in Prague course.

License

Notifications You must be signed in to change notification settings

mikicit/recipe-selection-service

Repository files navigation

Recipe Selection Service

Table of Contents

Description

Recipe Selection Service is a web application that allows users to search for recipes based on available ingredients and by dish type. Users can search for recipes and leave reviews on them. Administrators can add new recipes. This project was completed as part of the semester project in the Foundations of Web Applications course at CTU in Prague.

Documentation for the project can be found here.

Technical Requirements

To run this project, you will need NodeJS and npm. All dependencies are listed in the package.json file. This is necessary to build the frontend. The tested versions were NodeJS v21.7.1 and npm 10.5.0. Additionally, you will need Docker to run the backend.

Installation and Setup

  1. Clone the repository to your computer.
  2. Navigate to the project folder.
  3. Install the frontend dependencies:
    npm install
  4. Build the frontend:
    npm run build
  5. Start the backend:
    docker-compose up
  6. Open the page http://localhost:80 in your browser.
  7. To stop the backend, run the command:
    docker-compose down

Usage

To add new recipes, you need to log in as an administrator. On the login page, enter the username admin@example.com and the password adminadmin. After logging in as an administrator, a "Add Recipe" button will appear at the top of the site.

Architecture and Technologies

For naming CSS styles, the BEM methodology was used. SCSS preprocessor was used for styling. Babel was used to transpile JavaScript code. Gulp was used as the task manager to build the project.

The backend was written in PHP without using any frameworks but was inspired by them. The MVC pattern was used in designing the backend. PostgreSQL was chosen as the database.

Features

  • Adding new recipes with photos.
  • Viewing a list of recipes with pagination, filtering, and sorting.
  • Searching for recipes by name.
  • Viewing detailed recipe information.
  • Posting reviews on recipes.

Screenshots

Main Page Recipes Page Search Page Profile Page Recipe Page Registration Page Login Page Add Recipe Page Not Found Page

Authors

About

Recipe Selection Service is a web app for searching recipes by ingredients and dish type, with user reviews and admin-added recipes, developed for a CTU in Prague course.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published