- Description
- Technical Requirements
- Installation and Setup
- Usage
- Architecture and Technologies
- Features
- Screenshots
- Authors
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.
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.
- Clone the repository to your computer.
- Navigate to the project folder.
- Install the frontend dependencies:
npm install
- Build the frontend:
npm run build
- Start the backend:
docker-compose up
- Open the page
http://localhost:80in your browser. - To stop the backend, run the command:
docker-compose down
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.
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.
- 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.








