Build An Authentication system with node, express, and MongoDB

Over the years, I have been able to adopt an interesting approach to register a user as well as log in the user. Am delighted to share a few decision that has worked for me and I find useful and worthwhile. And I hope to get comments and more insight from you guys to further help me learn and become better. Yes, we are all learning.

What we want to do.

I will assume you have an existing understanding of javascript, node js, express, and MongoDB. we want to set up a platform whereby a user can register as well as login to there account

Main Dependencies

  1. Nodejs must be installed
  2. Mongo DB
  3. Passport
  4. Babel
  5. JSON WEB TOKEN

Overview of dependencies, project structuring.

The src folder contains the source file of the project. the purpose of each of the subfolders will be explained subsequently.

Screen Shot 2019-10-24 at 9.08.20 PM.png

The package.json file and the basic dependencies

Screen Shot 2019-10-24 at 9.48.26 PM.png

A config folder to help specify variables required click here to have a better understanding of how the environment variables are loaded. here is the default config file.

Screen Shot 2019-10-24 at 9.53.09 PM.png

Server.js file Where we will be starting our development server

Screen Shot 2019-10-24 at 9.56.48 PM.png

On a successful server setup in your console, you should have this logged.

Screen Shot 2019-10-24 at 9.59.50 PM.png

Now that the server is up and running let write some code, let create a register model (create a register.model .js file) and put in the following

Screen Shot 2019-10-24 at 10.02.33 PM.png

Now let create our register controller (create a register.controller.js file)

Screen Shot 2019-10-24 at 10.05.06 PM.png

Screen Shot 2019-10-24 at 10.05.43 PM.png

Now let create our route

Screen Shot 2019-10-24 at 10.10.48 PM.png

Guys, we are still on track now that we have a registered user let create our Login controller and route (create a login.controller.js file)

Screen Shot 2019-10-24 at 10.15.00 PM.png

Screen Shot 2019-10-24 at 10.15.32 PM.png

Let create our login route(create a login.route.js file)

Screen Shot 2019-10-24 at 10.17.41 PM.png

Guys now that we are done let test what we've done so far : Using Postman (Create a user).

Screen Shot 2019-10-24 at 10.28.47 PM.png

Screen Shot 2019-10-24 at 10.30.50 PM.png

Let try to login with our Email and password :

Screen Shot 2019-10-24 at 10.32.25 PM.png

Screen Shot 2019-10-24 at 10.33.03 PM.png

Wow we finally built An Authentication system with node, express, and MongoDB thank you for your patience Source code

Comments (4)

japet saberon's photo

what theme are you using sir? or using phpstorm?

Show all replies
Adeeyo adewale temitayo's photo

Software developer @intellchub

japet saberon you're welcome.