Skip to content

Building a secure REST API for a food review application. The API handles secure user authentication and allows for the creation, deletion, update and removal of hot sauce recipes on a Mongo DB.

Notifications You must be signed in to change notification settings

lmleopold/Piiquante

Repository files navigation

Piiquante – 6th project of the OpenClassrooms web-developer path

Table of Contents

  1. General Info
  2. Technologies
  3. Installation

General Info


Project Status: Inactive – The project has reached a stable, usable state but is no longer being actively developed; support/maintenance will be provided as time allows.

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 :

Screenshots

Login PageLog in Page Home PageHome Page Create / modify a sauceCreate / modify a sauce Like/dislike a sauceLike/dislike a sauce

Technologies


A list of technologies used within the project:

  • Node.JS
  • MongoDB
  • Angular.JS
Libraries version
bcrypt 5.1.0
dotenv 16.0.3
express 4.18.1
jsonwebtoken 8.5.1
mongoose 6.6.5
mongoose-unique-validator 3.1.0
multer 1.4.5

Installation


Back end prerequisites

You will need to have Node and npm installed locally on your machine. You will need a MongoDB Account

Back end Installation

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 .envfile 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.

Front end installation

From the "front" folder of the project, run npm install run npm run start

About

Building a secure REST API for a food review application. The API handles secure user authentication and allows for the creation, deletion, update and removal of hot sauce recipes on a Mongo DB.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published