A web application for users to save their contacts. (Full Stack Development with MERN)
A web application for users to save their contacts. (Full Stack Development with MERN)
view the demo.
React.JS, MongoDB, Express.js, Node.js, JWT, MERN stack, Java, JavaScript, HTML 5, CSS
Developed an interactive web page for users to add, update, create and view contacts with React.js ( with React Hooks and Context API for state management). Used Node.js and Express.js for creating contacts and users API for the frontend to interact as well as the user authentication is based on JWT(JSON Web Token). Built with MongoDB to store the users' data and contacts data.
RESTful API for contacts that uses JWT authentication. All contact endpoints are protected and each registered user has their own contacts.
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
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
Headers
x-auth-token: YOURJWT
Response: 200 (application/json)
Body
{
"msg": "Contact removed"
}
npm install
npm client-install
Edit your /config/default.json file to include the correct MongoDB URI
npm run dev
npm run server
npm run client