Author : Arijit Banerjee
About : Full Stack Web Developer | Cyber Security Enthusiast | Actor
Social Media : Instagram LinkedIn GitHub
Email: arijit.codes@gmail.com
For a Live Demo, check : https://contactapp.iamarijit.dev
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.
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.
- To setup this project, clone it and run npm install.
- Create a file named .env in the root.
- Add the following two Env Variables to be used in the app :
- mongodbURI
- jwtSecret
- Set up the values of the two fields with your own mongoDB connection uri and your own JWT Secret Key.