Duration: 2 month's
Topics Covered:
What is Angular? (Framework vs Library, AngularJS vs Angular 2+)
History of Angular (AngularJS to Angular 16+)
Features: Two-way data binding, dependency injection, component-based architecture
Use Cases: Single-Page Applications (SPAs), enterprise apps, dynamic web apps
Prerequisites: Node.js, npm, TypeScript
Installing Angular CLIgular/cli
Creating a New Projectpp
Running the App
Modules: @NgModule, root module (AppModule)
Components: @Component, templates, styles
Services: @Injectable, dependency injection
Directives: Structural (*ngIf, *ngFor) and attribute directives
Routing: RouterModule, RouterOutlet
Why TypeScript? (Static typing, ES6+ features)
Data Types: string, number, boolean, any, void
Interfaces: Defining custom types
Classes: Constructors, methods, inheritance
Decorators: @Component, @Injectable, @NgModule
Creating a Componentrate component my-component
Component Lifecycle Hooks:
ngOnInit, ngOnChanges, ngOnDestroy
Template Syntax: Interpolation ({{ }}), property binding ([ ]), event binding (( ))
Interpolation: {{ user.name }}
Property Binding: [src]="imageUrl"
Event Binding: (click)="onClick()"
Two-Way Binding: [(ngModel)]="name" (requires FormsModule)
Built-in Directives:
Structural: *ngIf, *ngFor
Attribute: ngClass, ngStyle
Custom Directives
Built-in Pipes: date, uppercase, lowercase, currency, json
Custom Pipesenerate pipe reverse
Creating a Serviceta
Injecting Servicesa
Singleton Pattern: Services are singleton by default
Root Module: AppModule
Feature Modules: Organizing code into modules
Lazy Loading: Loading modules on demand
Shared Modules: Reusable components/directives/pipes
Setting Up Routes
Router Outlet
RouterLink
Route Parameters
Template-Driven Forms:
FormsModule, ngModel, ngForm
Reactive Forms:
ReactiveFormsModule, FormGroup, FormControl
Form Validation: Built-in validators, custom validators
Setting Up HttpClient
Making HTTP Requests
Error Handling
RxJS Basics: Observables, operators (map, filter, switchMap)
NgRx (Optional): Actions, reducers, store, effects
Angular Animations: @angular/animations
Internationalization (i18n): Translating templates
Server-Side Rendering (SSR): Angular Universal
Progressive Web Apps (PWAs): Service workers, offline support
Unit Testing: Jasmine + Karma
End-to-End Testing: Protractor (or Cypress)
Building for Production
Deploying to Platforms:
Firebase: firebase init, firebase deploy
Netlify: Drag-and-drop dist folder
GitHub Pages: angular-cli-ghpages
Folder Structure: Feature-based organization
Lazy Loading: Optimizing performance
Change Detection: OnPush strategy
Code Splitting: Reducing bundle size
E-Commerce App: Product listing, cart, checkout
Blog Platform: CRUD operations, user authentication
Weather App: Fetching data from a weather API
Standalone Components (Angular 14+): No NgModule required
Signals (Angular 16+): Reactive state management
ESBuild (Angular 16+): Faster builds