The objective is to develop a hot sauce review web application (named Hot Sauces), allowing users to upload their favorite hot sauces and to like or dislike those shared by others.
The different parts of this project were:
- build a noSQL database with MongoDB
- create a CRUD API with Node.JS and Express library in response to the specifications provided.
- manage image import when creating a sauce with the multer package
- manage user anthentication securely with JSON Webtoken
- improve API security with the Helmet module
Checkout here for more details about the technical specifications of this project :
Login Page Home Page Create / modify a sauce Like/dislike a sauce
A list of technologies used within the project:
Libraries | version |
---|---|
5.1.0 | |
16.0.3 | |
4.18.1 | |
8.5.1 | |
6.6.5 | |
3.1.0 | |
1.4.5 |
You will need to have Node
and npm
installed locally on your machine.
You will need a MongoDB
Account
Clone this repo. From the "backend" folder of the project, run npm install
.
This project uses .dotenv
to protect sensitive data related to the use of the MongoDB database. You must create a .env
file at the root of the "backend" folder and add the following informations:
IDENTIFIANT="enter your MongoDB username" PASSWORD="enter your MongoDB password" SECRET_KEY="enter your random secret token"
You can then run the server with node server
.
The server should run on localhost
with default port 3000
. If the
server runs on another port for any reason, this is printed to the
console when the server starts, e.g. Listening on port 3001
.
From the "front" folder of the project, run npm install
run npm run start