Skip to content

SoftwareEngineering-HomeWork/SE-Project-Recipe-Recommender-next-version

 
 

Repository files navigation

SE-Project-Recipe-Recommender

DOI GitHub contributors License Code Size Issues Issues Closed JS Python HTML CSS Repo Size GitHub forks GitHub language count GitHub release (latest by date) Discord GitHub Workflow Status

What is Recipe Recommendation System?

Recipe Recommendation System helps users to select their favorite food category and recommends recipes based on it. The users are then able to view the recipe and the ingredients required, and place an order for those ingredients.

This is the Home Page of the website.

image

Tools and Technology Used

Tools:

  1. AWS Cloud We have used Amazon EC2 instances, with its supporting VPC's to host our application on cloud. This gives almost 99.7% uptime of the application.
  2. Mongo DB Atlas
  3. Jupyter Notebook
  4. Jenkins for CI

Technology:

  1. Node.js
  2. React.js
  3. Mongo DB
  4. Python3

Getting Started (For local setup)

  • Clone this repository or download the zip file.
  • Run the npm install command inside the backend folder
  • Also run the npm install command inside the frontend folder
  • Create a .env file inside the backend folder and add credentials to the folder
  • Now, run npm run dev inside the backend folder and this will get the database and backend running
  • Lastly run npm start inside the frontend folder and the Website will running on http://localhost:3000/

Getting Started for AWS

Please use the link below to access the application hosted on AWS EC2 instance We have done continuous integration with the help of Jenkins

http://ec2-3-238-67-17.compute-1.amazonaws.com:3000/

Video Demonstration

video

Project Documentation

You can view the descriptive project documentation here

Directory Structure

│   .dvcignore
│   .gitignore
│   Citation.cff
│   CODE_OF_CONDUCT.md
│   Contributing.md
│   Install.md
│   LICENSE
│   package-lock.json
│   package.json
│   README.md
│
├───.dvc
│   │   .gitignore
│   │   config
│   │
│   └───plots
│           confusion.json
│           confusion_normalized.json
│           default.json
│           linear.json
│           scatter.json
│           smooth.json
│
├───.github
│   └───workflows
│           node-app.yml
│
├───AI
│   │   .gitignore
│   │   data.dvc
│   │   INSTALL.md
│   │   requirements.txt
│   │
│   ├───notebooks
│   │       collab_filtering.ipynb
│   │       correlation.ipynb
│   │       data_exploration.ipynb
│   │       lightfm_sample.ipynb
│   │       Tfid.ipynb
│   │
│   └───src
│           data_loader_to_db.py
│           inference.py
│           service.py
│
├───backend
│   │   .env.sample
│   │   .gitignore
│   │   index.js
│   │   package-lock.json
│   │   package.json
│   │
│   ├───controllers
│   │   │   order.js
│   │   │   recipe.js
│   │   │   recommend.js
│   │   │
│   │   └───auth
│   │           index.js
│   │           middlewares.js
│   │
│   ├───models
│   │       Order.js
│   │       Recipe.js
│   │       Recommendation.js
│   │       User.js
│   │
│   ├───routes
│   │       auth.js
│   │       order.js
│   │       recipe.js
│   │       recommend.js
│   │
│   └───utils
│           transporter.js
│
├───docs
│       chatchannelproof.md
│       LinuxKernelBestPractices.png
│       proj1rubric.md
│       proj1rubricComments.pdf
│
└───frontend
    │   .prettierignore
    │   .prettierrc.json
    │   package-lock.json
    │   package.json
    │
    ├───public
    │       index.html
    │
    └───src
        │   App.js
        │   index.css
        │   index.js
        │   reducer.js
        │   setupTests.js
        │   StateProvider.js
        │
        ├───Components
        │   │   AddressForm.js
        │   │   cards.css
        │   │   cards.scss
        │   │   Home.js
        │   │   Navbar.js
        │   │   Order.js
        │   │   PaymentForm.js
        │   │   RecipeRecommendations.js
        │   │   Recipes.js
        │   │   Review.js
        │   │   SearchBar.js
        │   │   ToggleSwitch.css
        │   │
        │   ├───auth
        │   │       Base.js
        │   │       ChangePassword.js
        │   │       ForgotPassword.js
        │   │       index.js
        │   │
        │   └───LandingPage
        │           LandingPage.css
        │           LandingPage.js
        │           LandingPage.test.js
        │
        ├───imgs
        │       breakfast.jpg
        │       brownies.jpg
        │       burger.jpg
        │       butterchicken.jpg
        │       chinese.jpg
        │       chopsuey.jpg
        │       cookies.jpg
        │       curry.jpg
        │       MainImage.jpg
        │       Mexican.jpg
        │       mocktail.jpg
        │       pizza.jpg
        │       rice.jpg
        │       salad.jpg
        │       soup.jpg
        │       sushi.jpg
        │
        └───utils
                index.js

Contributors

  1. Devanshi Savla
  2. Indranil Banerjee
  3. Aditya Srivastava
  4. Soha Bhatia
  5. Akruti Sinha

To find out how you can contribute to this project, read the CONTRIBUTING.md file

The discord chat channel link is included in the file CONTRIBUTING.md

About

This project aims at creating a Recipe Recommendation System which allows users to select any dietary restrictions they have, for example gluten-free, dairy-free, etc. and suggests recipes based on those restrictions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Jupyter Notebook 75.1%
  • JavaScript 21.8%
  • SCSS 1.1%
  • Other 2.0%