This training is jointly organized by BITM & PONDIT. Training will be held in PONDIT.
What will you learn:
You will fully understand the architecture behind an Angular 8 application and how to use it
You will be able to develop modern, complex, responsive and scalable web applications with Angular 8
You will be familiar with Angular testing best practices, and you will know how to write useful tests that don't take a lot of time to write and that contribute a lot for the long term health of your project.
This course will give you advanced practical knowledge of the Angular framework. After taking this course you will feel very comfortable building Angular Applications, as you will have a detailed understanding of everything that is made available by the Angular framework core modules which will help you to quickly establish yourself as a frontend developer.
Course Outline:
Day 01: Angular For Beginners
Architecture of Angular Apps
Setting Up the Development Environment
Your First Angular App
Structure of Angular Projects
Webpack Deep Drive
Day 02: Type Script Fundamental
Type Script Overview
Executing typescripts
Catching error in type scripts
Type System
Type annotations
Function and Objects
Arrays and Tuples
Interfaces
Classes
Design pattern in type scripts
Reusable code with typescripts
Advance concept of type interface, function generics & Generics constraints
Day 03: Angular Core Concept (Part 1)
Custom components with @Component
Components @Input and @Output, event Emitters
ngFor, ngIf, ngClass, ngStyle & ngSwitch
Observables
Built-In Pipes, Async Pipe, Custom Pipes
@Injectable and Custom Services
Lifecycle Hooks (ngOnInit, ngOnDestroy, etc.)
HTTP Client - GET POST PUT DELETE
@ViewChild and AfterViewInit
@ViewChildren
ng-content and Component Projection
@ContentChild and AfterContentInit
@ContentChildren
ng-template & ng-container
ngTemplateOutlet
AfterContentChecked and AfterViewChecked
ngDoCheck
Normal Change Detection
OnPush Change Detection
Custom Change Detection
Day 04: Angular Core Concept (Part 2)
@Directive
@Host
@HostListener
@HostBinding
Structural Directives
@Inject
@Optional
@Self
@SkipSelf
Hierarchical Injector
Custom Pipe
@NgModule
host, host-context, etc.
@NgPlural and other i18n features
Angular Elements
Day 05 & 06: Angular Router, Forms & REST API integration
Basic router setup
Child routes
Navigation with parameters
Route guard
Router redirects
Lazy loading
Angular template drive form
Angular reactive form
Built in form validation
Custom form validation
Styling form element
Dynamic form element
Styling validation error message
Redirects on error page
Day 07 & 08: Building a realtime project with Angular and firebase
Introduction to NoSQL data modeling
Documents vs Collections
Firestore Unique Identifiers
Querying a database using the Firebase SDK
Angular Service Layer Design with AngularFire
Offline support
Pagination
Indexes, Composite Indexes
Data Modification with AngularFire
Transactions
Multi-path Updates
Authentication with Firebase Authentication
Securing Database access with Firebase Security Rules
Production Deployment with Firebase Hosting
Image file upload with Firebase Storage
Firebase Storage Rules
Server-side image processing with Firebase Cloud Functions
Denormalization is normal - supporting multiple data views
Firebase Could Functions HTTP endpoints
Day 09: Angular Unit Testing & End to End testing
Introduction to the Jasmine testing framework
Introduction to Jasmine spies
Unit Testing of simple Angular Services
Jasmine testing best practices
Introduction to Angular testing utilities
Testing of complex Angular services
Mocking of Angular HTTP requests
Unit Testing of Angular Components
Asynchronous Angular Testing with fakeAsync and async
Mocking of Observable-based Services
Unit Testing of Presentational Components
Unit Testing of Smart or Container Components
Simulation of user interaction in unit tests
End to End Angular Testing with Cypress
Continuous Integration with Travis CI
Angular CLI Test Coverage Reports
Day 08: Exam - Recap & Review
--
Curriculum
Module
Angular Web Application Development: Beginner to Advance