AyushiVashisth / webledger-assignment

Create an interactive recipe application as a full-stack developer with skills in Node.js and React.js. The objective is to build a responsive user interface, implement data retrieval from a third-party API (MongoDB), and manage user preferences. Backend development involves creating a Express.js server

Home Page:https://webledger-recipe-assign.vercel.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🍜 Full-Stack Recipe Application Development 🍜

Create an interactive recipe application as a full-stack developer with skills in Node.js and React.js. The objective is to build a responsive user interface, implement data retrieval from a third-party API (MongoDB), and manage user preferences. Backend development involves creating a Node.js server, implementing RESTful API endpoints for recipe search and user preferences, user registration/authentication, and storing preferences in a database (MongoDB). Frontend development includes designing a user interface for recipe search, displaying results and recipe details, saving favourites, and ensuring cross-browser compatibility. Git is used for version control, and the assignment is evaluated based on requirements, code quality, UI design, server functionality, user authentication, version control, deployment, and user experience. Plagiarism is prohibited, and best practices should be followed. Link

Frontend Deployed URL πŸ‘‰ Click here

Backend API πŸ‘‰ Click here


Technologies Used

Frontend
react tailwindcss

Backend
node express mongoose

Tools
github npm vscode

Deployment
vercel netlify

Features

Backend Development:

  1. Create an Express.js MVC framework.
  2. Implement RESTful API endpoints for recipe search and user preferences.
  3. Integrate with a third-party API (e.g., Spoonacular) to fetch recipe data based on user searches.
  4. Implement user registration and authentication using OAT.
  5. Store user preferences, such as saved recipes, in a database (MongoDB).

Frontend Development:

  1. React.js for the frontend.
  2. Design a user interface for searching recipes using keywords or filters.
  3. Display search results with relevant recipe information (title, image, summary).
  4. Create a recipe details page showing ingredients, instructions, and nutritional information.
  5. Allow users to save their favourite recipes and view their saved recipes.
  6. Ensure responsive design and cross-browser compatibility.

Additional Requirements:

  1. Utilize Git for version control and maintain a well-structured repository.
  2. Write clean, maintainable, documented code following best practices and industry standards.
  3. Implement error handling with meaningful error messages for users.
  4. Include loading indicators during API calls and other asynchronous operations.
  5. Optionally, implement pagination or infinite scrolling for search results.
  6. Enhance the user experience with features like sorting, filtering, and categorising recipes (optional).

Registration and authentication using OAT

Screenshot 2023-10-11 184351

Display search results with relevant recipe information (title, image, summary)

Screenshot 2023-10-11 184413 Screenshot 2023-10-11 184439 Screenshot 2023-10-11 184459

Recipe details page showing ingredients, instructions, and nutritional information

Screenshot 2023-10-11 184531 Screenshot 2023-10-11 184551 Screenshot 2023-10-11 184604 Screenshot 2023-10-11 184645

Favourite recipes and view their saved recipes

Screenshot 2023-10-11 184659 Screenshot 2023-10-11 184740 Screenshot 2023-10-11 184747

Project Overview

The project is to develop an interactive recipe application as a full-stack developer, focusing on both backend and frontend aspects. This application aims to enable users to search for recipes, view recipe details, and save their favourite recipes. Below is an overview of the key components and functionality of the project:

Backend Development:

  1. Node.js Server: Create a server Express.js MVC framework to handle the backend logic.
  2. API Endpoints: Implement RESTful API endpoints to handle recipe search and user preferences, allowing users to interact with the application.
  3. Third-party API Integration: Integrate with a third-party API like Spoonacular to fetch recipe data based on user searches, enriching the application with a wide range of recipes.
  4. User Authentication: Implement user registration and authentication using OAT to secure user accounts and ensure data privacy.
  5. Database Storage: Store user preferences, such as saved recipes, in a database of your choice, which could be MongoDB. This ensures that user-specific data is persistently stored.

Frontend Development:

  1. Frontend Framework: React.js for frontend development to create a dynamic and interactive user interface.
  2. Recipe Search: Design a user-friendly interface for users to search for recipes using keywords or filters, enhancing the user's experience.
  3. Recipe Display: Display search results with essential recipe information like title, image, and summary, making it easy for users to browse through the options.
  4. Recipe Details: Implement a recipe details page that provides in-depth information, including ingredients, instructions, and nutritional details, giving users comprehensive insights into the recipes.
  5. Favorites and Saved Recipes: Allow users to save their favourite recipes and view their saved recipes, promoting user engagement and personalization.
  6. Responsiveness: Ensure responsive design to adapt to various screen sizes and cross-browser compatibility for a seamless user experience.

Additional Functionality:

  1. Version Control: Utilize Git for version control to keep track of code changes and facilitate collaboration.
  2. Code Quality: Write clean, maintainable, well-documented code following industry best practices and standards.
  3. Error Handling: Implement error handling with meaningful error messages to guide users in case of issues.
  4. Loading Indicators: Include loading indicators during API calls and other asynchronous operations to enhance user feedback.
  5. Optional Features: Consider implementing optional features like pagination, infinite scrolling, sorting, filtering, and categorising recipes to enhance the user experience further.

Getting Started

  1. Clone the repository to your local machine.
  2. Set up the backend API using Express and Mongoose (provide instructions if necessary).
  3. Navigate to the project directory.
  4. Run npm install to install the required dependencies.
  5. Run npm start to start the development server.

This is an individual project that I developed as a solo full-stack web developer within a span of 4 days.

Contribution Guidelines

We welcome contributions to the Full-Stack Recipe Application Development project. If you have ideas for new features or find any bugs, please open an issue in the repository. Pull requests are also encouraged.

Show Your Support

If you find this project interesting or valuable, please consider giving it a ⭐️.

🍜 Happy Exploring! 🍜

About

Create an interactive recipe application as a full-stack developer with skills in Node.js and React.js. The objective is to build a responsive user interface, implement data retrieval from a third-party API (MongoDB), and manage user preferences. Backend development involves creating a Express.js server

https://webledger-recipe-assign.vercel.app/


Languages

Language:JavaScript 94.0%Language:HTML 3.8%Language:CSS 2.2%