
Explore the basics of Angular, including what a JavaScript framework is, why Angular speeds web development, and core concepts like components, data binding, directives, and the single-page application model.
Set up your Angular development environment by installing Node.js, npm, and the Angular CLI, then create and run your first Angular project with ng new and ng serve.
Explore how to structure an Angular app with core, feature, and shared modules to improve maintainability. Understand the build process and ahead-of-time versus just-in-time compilation in the Angular CLI workflow.
Master angular components, including standalone and non-standalone variations, ng generate component, templates, selectors, styles, and nesting with input and output decorators.
Discover Angular data binding across interpolation, property binding, style binding, class binding, and attribute binding, plus two-way binding with forms module and ngModel to synchronize model and view.
Explore data binding and component communication in Angular using input and output to pass data from parent to child and emit events back.
mastering Angular shows how directives extend HTML with behaviors and elements. Learn component, attribute, and structural directives, including ngclass, ngstyle, ngmodel, ngif, ngfor, and ngswitch, to manipulate dom and ui.
Explore ng content, ng template, and ng container to project content, reuse templates, and group elements without extra DOM nodes, using select attributes and template outlet for flexible layouts.
Build custom directives in Angular to reuse behavior that changes element style and adds functionality, using host listener and host binding for events, modals, validation, and formatting.
Create a portfolio website in Angular to showcase your skills and projects. Set up the environment, build header, about, and projects components, enable navigation, and deploy via GitHub or GitLab.
Create a standalone angular portfolio project, generate a portfolio component, and configure bootstrap for a responsive UI, then run ng serve to preview on localhost.
Explore advanced Angular forms, comparing template driven and reactive forms, with form controls, groups, and validators such as required and email.
Explore template-driven forms in Angular by building a signup form with first name, last name, email, gender, and country using ngModel, ngForm, and form validation.
Learn to build and style a template-driven sign-up form in Angular. Apply CSS to inputs and labels, implement validation with ngModel, and manage form state and errors.
Explore reactive forms in Angular through model-driven forms, using form group and form builder, with validators for name, email, and message, including error handling and submission.
Explore custom validators in Angular by building a user name validator and integrating it with reactive and template-driven forms, alongside practical tips for real-time validation.
Master the Angular component lifecycle by learning key hooks (ngOnChanges, ngOnInit, ngDoCheck, ngAfterContentInit, ngAfterContentChecked, ngAfterViewInit, ngAfterViewChecked, ngOnDestroy), change detection, projected content, and input properties.
Explore Angular component lifecycle hooks through a hands-on lab, from constructor to ngOnDestroy, with practical demos of ngOnChanges, ngOnInit, ngDoCheck, and content and view hooks.
Explore dependency injection and services in Angular, learn how services centralize data retrieval and business logic, enable reuse across components, and support singleton instances via the app module.
Explore dependency injection in Angular by wiring services through the constructor, configure providers in app modules, and enable data sharing across parent and child components via the hierarchical injector tree.
Learn how to inject a service into another service and share data across components with Angular, using dependency injection, hierarchical injectors, and best practices to avoid code duplication.
Explore routing and navigation in angular, defining paths and urls to load only necessary components for faster page transitions, including routes, router outlet, router links, route parameters, and query parameters.
Learn to implement routing in Angular by defining routes for add user, template driven form, and reactive signup form, using router outlet, redirects, path match, and a not-found page.
explore route configuration in Angular using router link and router link active to enable seamless navigation without full page reloads. understand how active options refine link highlighting.
Learn to use route parameters and query parameters in Angular routing, retrieve values with activated route and param map, and navigate with router link and navigate.
Explore how Angular routing uses fragments as route parameters, with hash-based fragments to move to sections, and implement fragment navigation via router links and activated root fragment subscription.
Learn to implement child routes in angular by displaying a child component inside a parent. Configure routes in a standalone project, pass an id, and navigate to the child view.
Learn how route guards protect navigation by checking user access. Implement guards as services to enforce canActivate, canDeactivate, canLoad, resolve, canActivateChild, and fetch data.
Master Angular route guards by implementing canActivate to control navigation based on authentication, with a login and home flow showcasing guard-based access.
Learn how canActivateChild guards Angular routes, applying a guard to all child routes under a parent, alongside canActivate for the parent, with examples using child one and child two.
Explore how can deactivate route guards prevent leaving a form with unsaved data in Angular, compare with can activate guards, and apply these concepts to home, login, and contact routes.
Apply a route resolver to load data before navigation, ensuring the component renders with pre fetched data from a data service.
Explore migrating from deprecated route guards to canActivate and canActivateChild, with service injection, router usage, and practical login-driven navigation controls.
Build a task management app in Angular to practice task services, forms (reactive or template-driven), routing and navigation, with components for listing, creating, and detailing tasks.
Explore how to structure and implement a task management app in Angular by building standalone components (task list, task form, task item) with routing, services, reactive forms, and basic guards.
Explore advanced Angular directives by building and using custom structural directives to extend HTML behavior, reuse logic across modules, and manipulate the DOM with template and view container references.
Explore advanced directives in Angular by using host listener and host binding to create a toggle text color directive that manipulates the DOM on click.
Mastering Angular shows how to use ElementRef and Renderer2 for safe DOM manipulation, avoiding direct access that bypasses templates and change detection.
Explore RxJS and reactive programming to manage asynchronous data streams with observables, observers, operators, and subscriptions, contrasting asynchronous and synchronous code for responsive Angular apps.
Explore RxJS observables for handling asynchronous operations, using data as an observable, pipe and async pipe, and subscribing to display numbers in templates.
Explore how RxJS observables handle asynchronous operations by creating observables, piping operators, and applying map, filter, tap, and catchError to transform data and manage subscriptions.
Mastering Angular lab demonstrates RxJS observables and core operators such as filter, tap, switchMap, map, takeUntil, catchError, and reduce, via a service-based fetch data workflow with merging and delay.
Explore combining and chaining observables with operators like combine latest, zip, fork join, switch map, and concat map in RxJS within Angular apps.
Learn promises as a fundamental JavaScript tool for single asynchronous operations, including resolve and reject, error handling, and converting promises to observables with from or of.
Learn how RxJS subject acts as both observer and observable to multicast values to multiple observers, with next, error, and complete controls, using a shared service example.
Explore three types of RxJS subjects—behavior subject, replay subject, and single subject—and compare promises with observables, including subscribe, unsubscribe, and error handling in Angular apps.
Explore advanced component techniques in Angular with viewChild and contentChild decorators to access child components and projected content, plus lifecycle hooks after view init and after content init.
Explore dynamic component loading in Angular by using view container ref to attach and manage components at runtime, contrasting with component factory resolver and explaining modern Ivy simplifications.
Explore how Angular enables communication between sibling components using either input/output via a shared parent or a shared data service with a behavior subject and observables.
Learn to use Angular's HttpClient to call APIs and perform CRUD operations with get, post, put/patch, and delete, via reusable services.
Mastering Angular: students learn to implement crud operations with the http client, distinguish put and patch for full versus partial updates, and use ids to update or delete posts.
Create and register an Angular HTTP interceptor to centralize header management and error handling across all API calls, transforming requests and handling errors with status-based messages.
Learn to build a weather forecast app in Angular by mastering API handling, observables, and RxJS, with multi-location display and search.
Build a weather forecast app in Angular by selecting a weather API, obtaining an API key, and creating a grid-based UI with search using HTTP client and RxJS observables.
Master state management in Angular using NgRx with actions, reducers, selectors, and effects to manage immutable store data.
Learn to manage an Angular app state with ngrx by defining state, actions, reducer, and selectors, and connecting a component to dispatch add and remove item actions.
Install ng store dev tools to instrument the store and debug state and actions in your angular app. Use redux dev tools to monitor actions and state changes.
Learn asynchronous state management with ngrx effects in angular, dispatching load actions, making http requests, and updating the store on success or failure.
Learn deployment and optimization for an angular app: build, transfer necessary files, configure environment, use ng build --prod with tree shaking and AOT, and select hosting like Firebase or Netlify.
Deploy angular apps to hosting platforms like Firebase by building the project and uploading the output, with guidance on Firebase init, public directory, and troubleshooting.
Learn practical Angular performance optimization: adopt AOT compilation, lazy loading, production mode, tree shaking, onpush detection, trackBy, bundle minimization, caching, and efficient state management.
Explore unit testing with Jasmine and Karma and end-to-end testing with Protector in Angular, including describe, it, expect, and test bed concepts.
Learn to unit test angular apps with Jasmine and Karma, covering services, components, and directives, plus setup, data service, message component, and highlight directive tests.
Learn end-to-end testing in angular apps using protractor and Cyprus, set up e2e tests, write a basic spec, and troubleshoot chrome driver version issues.
Develop a blogging platform in angular by implementing state management and testing, adding authentication and authorization, setting up a MongoDB database, and building components with routing and unit tests.
Explore building a blogging platform with an Angular frontend, a Node.js and Express backend connecting to MongoDB via JWT-authenticated REST APIs, with state management and unit testing.
Develop a front-end login using Angular with ng store and effects, connect to a back-end API and MongoDB, and implement JWT authentication with register and login routes.
Implement effects for auth and login, connect login component to the auth service, dispatch login actions, handle token on success and errors on failure, and configure routing and http client.
Debug a broken login by adding express.json and analyzing api errors with caudium, then scaffold a register flow with angular components, routing, and mongodb-backed state management.
Fix timeouts and enhance login/register forms with bootstrap, then build a blogging page in Angular using routing and NgRx store to load and display blogs from an API.
Learn to debug an Angular app by tracing effects, API calls, and MongoDB integration, dispatching actions, selecting blocks, and building a blog UI with Bootstrap components.
This module teaches internationalization and localization in Angular apps, enabling multi-language and multi-region support while addressing language handling, regional formats like date and currency, and modular design.
Learn to format dates, numbers, and currencies in Angular using built in pipes and custom pipes, with emphasis on internationalization and localization.
Explore ngx translate for multi-language support in Angular apps, configure the HTTP loader, create en and es JSON files, and implement translation pipes and language switching.
Master lazy loading to load modules on demand, reduce initial load time and bundle size, and leverage code splitting, tree shaking, and aot compilation for faster Angular apps.
Explore tree shaking and code splitting to reduce bundle size and improve initial load, while production builds with webpack minify and uglify code.
Examine ahead-of-time and just-in-time compilation, as AOT precompiles Angular HTML and TypeScript into JavaScript for faster rendering. Understand ng build, bundles, and template type checking that precompile templates.
Master angular security by applying best practices to prevent xss and csrf, leveraging angular built-in sanitization, template binding, and csrf tokens, plus defense in depth measures.
Learn authentication and authorization in Angular, covering token-based and session-based methods, route guards, jwt flows, oauth, and securing api access with authorization headers.
Demonstrates implementing jwt in angular and node server: configure angular-jwt, set up token retrieval from local storage, and use an http interceptor to attach a bearer token to requests.
Learn how to securely store sensitive data and API keys in Angular apps by using a backend proxy, environment variables, https, and OAuth 2.0 with proper scope and key rotation.
Implement OAuth 2.0 in angular apps by configuring login with Google, initializing auth, and adding API key headers via interceptors to secure JWT-based authentication.
Master nested routing and child routes in Angular by building a dashboard with profile, settings, and statistics children, using route resolvers, preloading strategies, and lazy loading via router outlet.
Explore route resolvers in Angular to prefetch data before route activation, ensuring data availability for components, improving performance, and simplifying component logic through resolver service, resolve method, and route configuration.
Explore how Angular preloading strategies optimize navigation speed by loading lazy-loaded modules in the background, including no preloading, preload all modules, and custom, network-aware and device-aware approaches.
Learn the Angular signal API for reactive state management, and explore Angular 17 features such as built-in control flow, defer loading, and esbuild-based performance improvements.
Create an advanced Angular project that applies learned concepts such as internationalization and localization pipes, routing, performance optimization, and security practices, with tests and a design-first approach for portfolio-ready results.
This lecture guides building an angular e-commerce site with client and server concepts, covering login, signup, product, cart, checkout, lazy routes, roles, and dummy APIs using Node.js and JWT.
Create an Angular ecommerce app with Bootstrap UI, featuring home, product, and cart pages, lazy-loaded routing, and a product service using a fake store API.
Develop a dynamic product grid by iterating a JSON array with Ng4, binding image, title, and price, applying pipes and router links to navigate to a product detail page.
Build a product details page in Angular that shows image, title, description, and price, and adds items to the cart via a cart service API.
Apply angular fundamentals, project structuring, and problem solving in a personal final project. Document and present it as a portfolio piece with best practices and designs to recruiters.
Learn to plan and deliver an Angular project as a portfolio piece, covering idea selection, requirements, user interface design, routing with lazy loading, state management, forms, testing, deployment, and documentation.
This course is designed to guide you from Angular fundamentals to advanced concepts, equipping you with the skills to build scalable and dynamic web applications. Whether you're a beginner or an experienced developer, this course will help you master Angular and enhance your web development skills.
Course Modules and What You’ll Learn
Module 1: Introduction to Angular Basics
Learn the foundational concepts of Angular, including setting up the development environment, understanding project structure, and working with components.
Key topics: Data binding, component communication, and directives.
Project: Personal Portfolio Website.
Module 2: Advanced Angular Concepts
Delve into advanced topics such as form handling (template-driven and reactive forms), component lifecycle, dependency injection, and routing.
Key topics: Route guards, child routes, and data sharing through services.
Project: Task Management Application.
Module 3: Advanced Angular Topics
Explore more advanced features like custom structural directives, dynamic component loading, and HTTP client integration.
Key topics: RxJS for asynchronous programming, operators, and managing state with subjects.
Project: Advanced Angular features in action.
Module 4: State Management and Deployment
Understand state management with NGRX and how to optimize and deploy Angular applications.
Key topics: Unit testing, E2E testing, deploying Angular apps, and performance optimization.
Project: Build a full Angular project using NGRX.
Module 5: Advanced Topics and Best Practices
Learn about best practices in Angular development, including lazy loading, AOT compilation, and security practices.
Key topics: Internationalization, secure storage of sensitive data, and advanced routing strategies.
Extra Content: Learn about advanced features and strategies to make your Angular applications more robust and efficient.
Module 6: Final Project
Apply everything you've learned in a comprehensive final project.
Project: Build and deploy a fully-featured Angular application, showcasing the knowledge gained throughout the course.
By the end of this course, you'll have a complete understanding of Angular, from basic to advanced, and be able to build professional-grade, production-ready applications. Let’s get started!