User Registration in Angular 8/9 in MEAN Stack
In this lesson we will learn, user sign-up or registration in MEAN Stack(MySQL, Express.js, Angular, Node.js). Need to read previous lesson Routing, Lazy Loading, Multiple Layouts in Angular 8 for related source code of this lesson. I have used in this lesson reactive form, form validation, custom validation, etc. In user sign-up we have used some features like as match password and confirm password, password encryption, etc.
You can see all lessons here MEAN Stack Tutorial.
Create User Registration API in Node.Js
First we will work in Node.js for create an API for user registration.
Installation of bcrypt
Install bcrypt module for password encryption.
Create Model File
Need to create a model file for database mysql query execution. Now create a file auth-model.js in models folder
models/auth-model.js
Create Route File
Create a auth.js route file in routes folder.
In this file now import var authModel = require('../models/auth-model');
for database access and var bcrypt = require('bcrypt');
for password encryption.
routes/auth.js
Edit app.js
Edit app.js file for create a router of route file routes/auth.js
app.js
Complete code of app.js
Fronted Angular 8
Create user registration form, services, models etc.
User Model
Create a user interface auth/models/user.ts for typed data and define all user fields.
Auth Service
Create a service file auth/services/authService and create a method signup for user registration.
auth.module.ts
Import import { ReactiveFormsModule } from '@angular/forms';
for creating reactive forms.
src/app/auth/auth.module.ts
auth-routing.module.ts
src/app/auth/auth-routing.module.ts
Signup Component
src/app/auth/signup/signup.component.ts
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
for create reactive form.
import { Router } from '@angular/router';
to navigate another url
import { User } from '../models/user';
for typed data.
import { passwordMatchValidator } from '../../shared/validators/password-match';
this is custom validation for match the password and confirm password.
import { AuthService } from '../services/auth.service';
subscribe service for user signup.
src/app/auth/signup/signup.component.html
Custom Validator
Create a file src/app/shared/validators/password-match.ts for custom validation of match the password and confirm password.
styles.css
Add this line .error { color: #ff0000}
for error message.
src/styles.css
Conclusion
In this lesson we have learnt to create singup or user registration in MEAN with features, reactive forms, form validation, custom form validation, creates an interface for typed data and use services of node.js.
This lesson also available on YouTube
More Posts - MEAN Stack
- MEAN Stack with MySQL
- Integrate Angular 8/9 with Node.js in MEAN Stack
- Routing, Lazy Loading Modules and Multiple Layouts in Angular 8/9
- User Registration in Angular 8/9 in MEAN Stack
- JWT Token Based Authentication using Passport in Node.js
- Angular 8/9 JWT Authentication with Example in MEAN Stack
- MEAN Stack Tutorial with CRUD Operations
- Server Side Pagination in MEAN Stack (MySQL, ExpressJS, Angular, NodeJS)
- Angular 9 Drag and Drop File Upload with Progress Bar using Node js API