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

f2490ca · Apr 27, 2020

History

10 Commits
Apr 26, 2020
Apr 24, 2020
Apr 24, 2020
Apr 24, 2020
Apr 24, 2020
Apr 24, 2020
Apr 27, 2020
Apr 24, 2020
Apr 27, 2020
Apr 27, 2020

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