loading...

Build An Authentication system with node, express, and MongoDB

dev_tycodez profile image Adeeyo adewale temitayo ・3 min read

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

Posted on by:

dev_tycodez profile

Adeeyo adewale temitayo

@dev_tycodez

Hi there, I'm Adeeyo Adewale Temitayo I'm a backend developer, Technical writer I currently work with intelligence campaign hub as a backend developer. I'm passionate about web development

Discussion

pic
Editor guide
 

That's a good example of an Authentication with nodejs and mongoDB, I just use bcrypt to encrypt the password, this way, you don't work with a plain password but only with encrypted passwords.

 

Can i know your icon and color theme

 

Hello αвιηαѕн, I use Webstorm IDE (WebStorm Material Theme)

 

I also use Webstorm but how can I find that icon theme and editor theme?

install Material Theme

 

Hi Adeeyo, thanks for the post. It will help if you can use code blocks instead of images for your code. This will make it easier for people to copy the code if they want to do so.

 

Hi, Sarah thanks for your feedback, Noted.

Some comments have been hidden by the post's author - find out more

Code of Conduct Report abuse