Skip to content

Prachal80/yelp-prototype

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 

Repository files navigation

yelp-prototype

Simulation of Yelp (yelp.com) Using React-Node-MySQL-Express

This is the simulation of the website named Yelp. Here, the services offered by the Yelp for Customers and Restaurants are achieved in this project. MySQL is used in this project as a database and is deployed on Amazon RDS.

Note:

  • This project was mainly focused on developing backend server using Nodejs, using Redux to maintain single source of truth for the whole application, utilizing database connection pooling to serve the queries faster and setting up kafka cluster to direct the client requests to different microservices to increase the performance.
  • For projects with attractive and intuitive client interfaces, please visit Yelp MERN Stack using React-Redux-Node-Kafka-MongoDB.
  • To see the demo video of the project in motion, please visit Here.

Architecture diagram:

Screen Shot 2020-09-12 at 1 45 34 PM

Project overview:



- Login

Screen Shot 2020-09-12 at 2 09 13 PM


  • Customer Dashboard page:

Screen Shot 2020-09-12 at 1 45 34 PM


- Restaurant Dashboard:

Screen Shot 2020-10-11 at 1 51 05 AM


-Customer Orders Page: Screen Shot 2020-10-11 at 1 48 19 AM

-Restaurant Orders: Screen Shot 2020-10-11 at 1 52 08 AM

-Customer Profile: Screen Shot 2020-10-11 at 1 47 34 AM

Application Performance comparison with/without connection pooling (using JMeter):

Screen Shot 2020-11-09 at 12 48 18 AM

Getting Started

Clone code from the master branch and extract files on your local computer.

Prerequisites

You need to have NodeJS and NPM(Node Package Manager) and Kafka installed on your local device to succesfully run this project.

Node can be installed through this website[https://phoenixnap.com/kb/install-node-js-npm-on-windows] Node can also be installed through NVM.

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

Installing

A step by step series of examples that tell you how to get a development env running

Clone repository on your local computer. Traverse through the Backend folder, open terminal in this folder and enter

npm install

This will download all the dependencies required for the project. After Installing all the dependencies enter

node index.js

"index.js" is our root file which will create connection with database and handle all the APIs

Travser to Frontend folder and again install the dependencies by entering

npm install

After Installing all the dependencies enter

npm start

It will start our frontend server which is in React.

Running the tests

To run test for this system. Traverse to test folder in Backend and enter

npm test

This will run the tests defined in the file. You can add new Tests by adding test cases in this file.

Deployment

To deploy this on live system go to aws.amazon.com and follow the steps to instantiate EC2 instance for each Backend, Frontend and MySQL RDS with Auto-Scaling and Load Balancer.

Built With

Author

  • Prachal Patel

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages