This is a Node/Express/MongoDB REST API for contacts that uses JWT authentication. All contact endpoints are protected and each registered user has their own contacts. This is used in my React course on Udemy. It is the API ONLY. The fullstack app can be found here
Open the config/default.json file and add your mongoURI and your jwtSecret
npm install
npm run server # Runs on http://localhost:5000
-
Request: Add user and request JSON web token
-
Headers
Content-type: application/json
-
Body
{ "name": "", "email": "", "password": "" }
-
-
Response: 200 (application/json)
-
Body
{ "token": "" }
-
-
Request: Login with credentials to recieve a JSON web token
-
Headers
Content-type: application/json
-
Body
{ "email": "", "password": "" }
-
-
Response: 200 (application/json)
-
Body
{ "token": "" }
-
-
Request: Get all contacts of a specific user
-
Headers
x-auth-token: YOURJWT
-
-
Response: 200 (application/json)
-
Body
{ "contacts": [] }
-
-
Request: Add a new contact
-
Headers
x-auth-token: YOURJWT Content-type: application/json
-
Body
{ "name": "", "email": "", "phone": "", "type": "" [personal or professional] }
-
-
Response: 200 (application/json)
-
Body
{ "contact": {} }
-
-
Request: Update existing contact
-
Parameters
- id: 1 (number) - An unique identifier of the contact.
-
Headers
x-auth-token: YOURJWT Content-type: application/json
-
Body
{ "name": "", "email": "", "phone": "", "type": "" [personal or professional] }
-
-
Response: 200 (application/json)
-
Body
{ "contact": {} }
-
-
Request: Delete existing contact
-
Parameters
- id: 1 (number) - An unique identifier of the contact.
-
Headers
x-auth-token: YOURJWT
-
-
Response: 200 (application/json)
-
Body
{ "msg": "Contact removed" }
-