This repository contains the backend code for a collaborative recipe website developed by me and my partner, Noam.
-
Node.js: The backend is built using Node.js, providing a scalable and efficient runtime environment.
-
Express: Utilized the Express framework for building robust and flexible APIs to handle HTTP requests and responses.
-
MySQL Database: Integrated a MySQL database for efficient data storage and retrieval, supporting the recipe and user data.
-
Spoonacular API: Incorporated the Spoonacular API to fetch recipes and related information, enhancing the variety and richness of the recipe content.
-
University Cloud Server: The backend is deployed on the university-provided cloud server, ensuring accessibility and reliability for users.
The Recipe Website Back-End serves as the server-side component for our full-stack recipe website. Developed using Node.js with Express and SQL, this backend interacts with the Spoonacular API to fetch recipes and related information. The website is currently deployed on the university-provided cloud server and is accessible at https://dn-recipes.cs.bgu.ac.il/#/.
Our goal is to provide users with a seamless and enjoyable experience in exploring, sharing, and discovering diverse recipes. The backend handles user authentication, stores recipe and user profile data, and communicates with the front-end to deliver a cohesive user interface.
For the front-end repository, please refer to [link to the front-end repository] to explore the corresponding user interface and functionalities.
-
Users can register accounts to personalize their experience.
-
Registered users can create, manage, and share their own recipes. Interaction with Recipes:
-
Users have the ability to like and save recipes for future reference.
-
The front page showcases three random recipes for all website visitors.
-
Logged-in users are presented with their three most recently viewed recipes on the front page. Advanced Search Functionality:
-
Users can search for recipes based on name, cuisine, diet, and intolerances.
-
Customize the number of recipes returned in search results.
- Sorting options available for search results, including popularity and preparation time.
- Users can view the full details of a recipe by simply clicking on it.