An open API service indexing awesome lists of open source software.

https://github.com/jerryfzhang/winerecommendationsystem


https://github.com/jerryfzhang/winerecommendationsystem

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# WineRecommendationSystem
This a NodeJS + React App that takes display wine information and recommend similar wines.
The app users MERN stack and MVVM architecture.

## How to start the server

1. [Make sure MongoDB is installed](https://docs.mongodb.com/v3.2/administration/install-community/), and start mongoDB by typing `mongod` in the command line.

1. Make sure Node and NPM are installed by typing `node -v` in the command line. If NPM is not installed please proceed to [this page](https://nodejs.org/en/download/) to install Node.

1. Clone or download the repo to the local machine.

1. `cd` to the folder where the backend is in, for example, `cd ~/Downloads/WineRecommendationSystem/backend` or cd `C:\\GitHub\WineRecommendationSystem\backend`

1. Install project dependency by typing in `npm install`.

1. Start the server by typing `npm start`.

1. Open a new terminal tab

1. `cd` to the folder where the frontend code is in, for example, `cd ~/Downloads/WineRecommendationSystem/frontend` or cd `C:\\GitHub\WineRecommendationSystem\frontend`.

1. Install project dependency by typing in `npm install`.

1. Start the server by typing `npm start`.

1. Visit the app from [localhost:3000](http://localhost:3000)

## Technology
### Architecture
### Backend
- [Node.js](http://nodejs.org)
- [Express.js](https://expressjs.com)

Node.js and Express.js are used to setup routing and request handling. With the help of other open source NPM packages.

### Front-end
- [Bootstrap](https://getbootstrap.com)
- [React.js]()

Bootstrap is used as the UI framework, it provides tons of features to make web application adapt to different screen sizes and aspect ratios.

### Database:
MongoDB is a non-relational database designed to be high-performance and easy to implement, the NPM package Mongoose is used connect to the database and perform Create, Read, Delete operations.

### Privisioning Tool