Skip to content

React App - Full stack MERN contact manager with React hooks, context & JWT authentication

Notifications You must be signed in to change notification settings

nealdeters/contact-keeper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contact Keeper

Full stack MERN contact manager with React hooks, context & JWT authentication.

Usage

Install dependencies

npm install
npm client-install

Mongo connection setup

Edit your /config/default.json file to include the correct MongoDB URI

Run Server

npm run dev     # Express & React :3000 & :5000
npm run server  # Express API Only :5000
npm run client  # React Client Only :3000

API Usage & Endpoints

Register a User [POST /api/users]

  • Request: Add user and request JSON web token

    • Headers

      Content-type: application/json
      
    • Body

          {
            "name": "",
            "email": "",
            "password": ""
          }
      
  • Response: 200 (application/json)

    • Body

        {
          "token": ""
        }
      

Login with a User [POST /api/auth]

  • Request: Login with credentials to recieve a JSON web token

    • Headers

      Content-type: application/json
      
    • Body

          {
            "email": "",
            "password": ""
          }
      
  • Response: 200 (application/json)

    • Body

        {
          "token": ""
        }
      

Get Contacts [GET /api/contacts]

  • Request: Get all contacts of a specific user

    • Headers

      x-auth-token: YOURJWT
      
  • Response: 200 (application/json)

    • Body

        {
          "contacts": []
        }
      

Add New Contact [POST /api/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": {}
        }
      

Update Contact [PUT /api/contacts/:id]

  • 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": {}
        }
      

Delete Contact [DELETE /api/contacts/:id]

  • 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"
        }
      

About

React App - Full stack MERN contact manager with React hooks, context & JWT authentication

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published