Skip to content

It is a Full Stack Contact App. It is made with MERN Stack (NodeJS, ExpressJS, ReactJS and MongoDB). (Full Stack App) [MERN Stack]

Notifications You must be signed in to change notification settings

arijitcodes/Contact-App

Repository files navigation

Contact App

Author

Author : Arijit Banerjee

About : Full Stack Web Developer | Cyber Security Enthusiast | Actor

Social Media :   Instagram Instagram   Linkedin LinkedIn   GitHub GitHub

Email: arijit.codes@gmail.com


Live Demo

For a Live Demo, check : https://contactapp.iamarijit.dev


Functionalities and Technologies Used

Stack : MERN Stack (MongoDB, ExpressJS, ReactJS, NodeJS)

Technologies Used : NodeJS, ExpressJS, ReactJS, MongoDB, Mongoose, Express-Validator, BcryptJS, JSONWebToken (JWT), React Hooks, Global State Management using State Reducer and Context Api, Toastify, Axios, Bootstrap etc.

Functionalities : REST Api, CRUD, User Registration, Log In, Authentication, JWT Token, PRIVATE and PUBLIC Routes, Create, Read, Server Side Validation using Express-Validator, Password Encryption using BCrypt, Update Delete contacts based on Users, Unique Contacts based on Email & Phone per User, Global State, Error Toastr Notification System using Toastify, Fully Responsive Web Design using Bootstrap etc.

NOTE: Contacts are stored in a way that two different users can save contact which has same Email and/or Phone Number. But, Same user cannot have multiple contacts with same Email/Phone. The Email and/or Phone Number is unique for individual user's own contacts.


From the Developer:

This is a Self Project, made on MERN Stack. After going through basics of MERN I needed some kind of full project to work on and gather some experience on Full Stack MERN Development on my own. So I decided to make a Contact App.

This is a Full Stack Web App just like Google Contacts, where users can Sign Up, and Create and Store their contacts.

If you have any suggestions, please feel free to leave the suggestions. Constructive Criticism is always appreciated.

NOTE: This is a demo project. There can be a lot of more features and functionalities that could be added with this.


Tips

  1. To setup this project, clone it and run npm install.
  2. Create a file named .env in the root.
  3. Add the following two Env Variables to be used in the app :
    • mongodbURI
    • jwtSecret
  4. Set up the values of the two fields with your own mongoDB connection uri and your own JWT Secret Key.