Course Purchase Includes

Each purchase comes with a 10 day money-back guarantee

  • 10 hours of content

  • Covers Angular versions 4-6x

  • Unlimited access

  • Access to code forums

What is Angular?

HTML. CSS. TypeScript.

Headed by Google, Angular is a powerful framework for building meaningful web applications. What once took weeks can be built in hours with the brand new Angular.
What is Angular?

What Will I Learn?

  How to make HTTP requests & connect to APIs ↳  Building secure login & authentication systems
↳  How to build re-usable forms and handle errors ↳ Create multiple pages with routing & navigation
↳  How to deploy Angular apps to a server ↳  Angular versions 4-6, Angular CLI, and TypeScript

Cross Platform

Desktops, phones, tablets

Learn one way to build applications with Angular and reuse your code and abilities to build apps for any deployment target. For web, mobile web, native mobile and native desktop.
Cross Platform

Speed & Performance

Angular was built to be fast

Achieve the maximum speed possible using Angular. Angular puts you in control over scalability. Meet huge data requirements by building data models on RxJS, Immutable.js or another push-model.
Speed & Performance

Learn the Tools

Angular CLI & Webpack

Build features quickly with simple, declarative templates. Extend the template language with your own components and use a wide array of existing components. All this comes together so you can focus on building amazing apps rather than trying to make the code work.
Learn the Tools

Learn TypeScript

Angular was built for TypeScript. Learn the basics of the powerful TypeScript language and learn how it differs from standard JavaScript.
Learn TypeScript

Course Curriculum

Sections, lessons, and free previews

  • 01
    Getting Started
    Show details
  • 02
    TypeScript
    Show details
    • Introduction to TypeScript Watch Free
    • What is TypeScript?
    • Your First TypeScript Program
    • Declaring Variables
    • Types
    • Type Assertions
    • Arrow Functions
    • Interfaces
    • Classes
    • Objects
    • Constructors
    • Access Modifiers
    • Access Modifiers in Constructor Parameters
    • Properties
    • Modules
    • Exercise
    • Solution
    • Solution source code
  • 03
    Angular Fundamentals
    Show details
    • Introduction
    • Building Blocks of Angular Apps
    • Creating Components
    • Creating Components Using Angular CLI
    • Templates
    • Directives
    • Services
    • Dependency Injection
    • Generating Services using Angular CLI
    • Angular Exercise- Authors
    • Solution
  • 04
    Displaying Data and Handling Events
    Show details
    • Introduction
    • Property Binding
    • Attribute Binding
    • Adding Bootstrap
    • Class Binding
    • Style Binding
    • Event Binding
    • Event Filtering
    • Template Variables
    • Two-way Binding
    • Pipes
    • Custom Pipes
    • Exercise- Favorite Component
    • Solution- Favorite Component
    • Exercise- TitleCase
    • Exercise- TitleCase
    • Solution- TitleCase
    • Solution source code - TitleCase
  • 05
    Building Re-usable Components
    Show details
    • Intorduction
    • Component API
    • Input Properties
    • Aliasing Input Properties
    • Output Properties
    • Aliasing Output Properties
    • Templates
    • Styles
    • View Encapsulation
    • ngContnet
    • ngContainer
    • Exercise- LikeComponet
    • Solution- LikeComponent
    • Solution source code - LikeComponent
  • 06
    Directives
    Show details
    • Introduction
    • ngIf
    • Hidden Property
    • ngSwitchCase
    • ngFor
    • ngFor and Change Detection
    • ngFor and TrackBy
    • The Leading Asterisk
    • ngClass
    • ngStyle
    • Safe Traversal Operator
    • Creating Custom Directives
    • Exercise- Zippy
    • Solution- Zippy
    • Solution source code - Zippy
  • 07
    Template-driven Forms
    Show details
    • Introduction
    • Building a Basic Bootstrap Form
    • Types of Forms
    • ngModel
    • Adding Validation
    • Specific Validation Errors
    • Styling Invalid Input Fields
    • Cleaner Templates
    • ngForm
    • ngModelGroup
    • Control Classes and Directives
    • Disabling the Submit Button
    • Working with Check Boxes
    • Working with Drop-down Lists
    • Working with Radio Buttons
    • Exercise- Create Course Form
    • Solution- Course Form
    • Solution source code - Course Form
  • 08
    Reactive Forms
    Show details
    • Introduction
    • Building a Bootstrap Form
    • Creating Controls Programatically
    • Adding Validation
    • Specific Validation Errors
    • Implementing Custom Validation
    • Async Operations
    • Async Validators
    • Displaying a Loader Image
    • Validating Upon Submitting the Form
    • Nested FormGroups
    • FormArray
    • FormBuilder
    • Quick Recap
    • Quick Recap
    • Exercise- Change password Form
    • Solution- Change Password Form
    • Solution source code - Change Password
  • 09
    Consuming HTTP Services
    Show details
    • Introduction
    • JSONPlaceHolder
    • Getting Data
    • Creating Data
    • Deleting Data
    • OnInit Interface
    • Separation of Concerns
    • Extracting a Service
    • Angular Update: Updates for Map & Catch
    • Handling Errors
    • Handling Unexpected Errors
    • Throwing Application-specific Errors
    • Code Review
    • Importing Observable Operators and Factory Methods
    • Global Error Handling
    • Extracting a Reusable Error Handling Method
    • The Map Operator
    • Optimistic vs Pessimistic Updates
    • Observables vs Promises
    • Angular Update: Http vs HttpClient
    • Exercise
    • Solution
    • Solution source code - http services
  • 10
    Routing and Navigation
    Show details
    • Introduction
    • Routing in a Nutshell
    • Configuring Routes
    • RouterOutlet
    • RouterLink
    • RouterLinkActive
    • Accessing Route Parameters
    • Why Route parameters are Observables
    • Query Parameters
    • Subscribing to Multiple Observables
    • SwitchMap Operator
    • Programmatic Navigation
    • Exercise- Blog Archives
    • Solution- Blog Archives
    • Solution source code
  • 11
    Authentication and Authorization
    Show details
    • Introduction
    • Application Overview
    • App resources
    • Architecture
    • JSON Web Tokens
    • The Starter Code
    • Implementing the Login
    • Implementing the Logout
    • Showing - Hiding Elements
    • Showing - Hiding Elements based on the User's Role
    • Getting the current User
    • CanActivate
    • Redirecting the User after Logging in
    • Protecting Routes based on the User's Role
    • Accessing Protected API Resources
    • Quick Recap
  • 12
    Deployment
    Show details
    • Introduction
    • Preparing for Deployment
    • JIT vs AOT Compilation
    • Angular Compiler in Action
    • Building Application with Angular CLI
    • Environments
    • Adding a custom Envirement
    • Linting with Angular CLI
    • Linting in VSCode
    • Other Deployment Options
    • Deploying to Firebase
    • Heroku
    • Deploying to Heroku
    • Engines
    • Exercise
    • Exercise resources

Your Instructor

  • Mosh Hamedani

    Software Engineer & Instructor

    Mosh Hamedani

    Hi! My name is Mosh Hamedani. Over the last three years, I've taught over 1M students how to code or how to become a better coder through my online courses and YouTube channel. I've been working as a software engineer for the past 18 years and I love to share my knowledge with you. It’s my mission to make coding accessible to everyone.