Api MVC Shop
This program is a REST API that allows clients to add products and make orders in a NoSQL database. The database is hosted in MongoDB Atlas (Cloud) on a AWS server. This API is using the express architecture. Clients can access the API with a token system by using the jsonwebtoken (JWT) npm module.
Postman program have been used for for the client part tests (routes).
Getting Started
Prerequisites
-
First, you must create an account on the mongoDB atlas website, and then create a cluster. Once created, you can now get the connection information from your cluster by clicking the "connect" button, choose the "Connect your Application" option and copy your "Connection String Only".
-
Installing node.js
- Mac (homebrew):
brew install node
- Linux (packet manager):
sudo apt-get install nodejs npm
- Node website:
https://nodejs.org/
Installing
- Clone the repository project in the directory of your choice with:
git clone https://github.com/vreymond/api-mvc-shop
- Move to the project directory, and install all npm modules dependencies needed by the program
npm install
- Create a .env file in the root of the directory with the following variable:
PORT=<your api port>
DB_CONNECT="<paste you connection string only mongoDB here"
JWT_KEY="<Json Web Token secret string to generate encoded tokens>"
// DB_CONNECT is like:
// "mongodb+srv://<username>:<password>@<cluster-name>.mongodb.net/<database-name>? retryWrites=true&w=majority
Program launch
-
Start your cluster on mongoDB atlas
-
Configure your .env file (Api port, mongoDb string connection, and your jsonwebtoken secreft key).
-
Start the API:
npm start
API usage
All the routes have been tested using the Postman program.
1°) API index
You can access the API by using the URL http://localhost:<portAPI>/
(default port is 3000).
2°) API Login check route
TO COMPLETE
Contributors
Valentin Reymond
License
This project is licensed under the MIT License - see the LICENSE file for details