Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Zero To Mastery

Complete Angular Developer: Zero to Mastery

via Zero To Mastery

Overview

Learn Angular from a senior industry professional. This is the only Angular course you need to learn Angular, build enterprise-level applications from scratch, and get hired as an Angular Developer.
  • Build enterprise-level applications using Angular and TypeScript and deploy them to production
  • Learn to lead Angular projects by making good architecture decisions and helping others on your team
  • Use WebAssembly and Rust in your applications to improve performance and combine with the power of Angular
  • Learn the latest features in Angular: Routing, Directives, Pipes, Services, Ahead of time Compilation + much more
  • Use RxJS and Streams in your applications
  • Master Angular Design Patterns
  • Set up authentication and user accounts
  • Use Firebase to build full-stack applications
  • Learn to build reactive, performant, large-scale applications like a Senior Developer
  • Learn to deal with Memory Leaks in your projects to improve performance
  • Master Production and Deployment of a professional Angular app
  • Learn to use TailwindCSS in an Angular application
  • Master the latest ecosystem of a Angular Developer from scratch
  • Become a top 10% Angular Developer

Syllabus

  •   Section 1: Introduction
    • Complete Angular Developer: Zero to Mastery
    • What Are We Building?
    • Exercise: Meet Your Classmates and Instructor
    • Complete Course Resources + Code
    • ZTM Plugin + Understanding Your Video Player
    • Set Your Learning Streak Goal
  •   Section 2: Bootstrapping Angular
    • Understanding Frameworks
    • The Angular CLI
    • Upgrading Angular
    • Creating a New Application
    • Starting the Server
    • Reviewing the Configuration Files
    • Main Entry File
    • AOT Compilation
    • Bootstrapping Angular
    • Understanding Components
    • Creating Components
    • External Templates and Styles
    • Everything Else
  •   Section 3: TypeScript (OPTIONAL)
    • Introduction to TypeScript
    • Installing TypeScript
    • Type Annotations
    • Variables
    • Union Types
    • Arrays
    • Objects
    • Interfaces
    • Classes
    • Generics
    • Why Decorators
    • TypeScript Configuration
    • Writing Decorators
  •   Section 4: Component Fundamentals
    • Signals
    • Property Binding
    • Event Binding
    • Type Assertions
    • Creating a Component
    • Custom Properties
    • Required Inputs
    • Emitting Events
    • Content Projection
    • Discovering Lifecycle Hooks
    • Exploring More Lifecycle Hooks
    • Scoped CSS
  •   Section 5: Transforming Content
    • Understanding Pipes
    • Pipe Basics
    • Angular Dev Tools
    • Pipe Parameters
    • Dealing with Numbers
    • Debugging with Pipes
    • Understanding Directives
    • The ngClass Directive
    • The ngStyle Directive
    • If Block
    • For Block
  •   Section 6: Master Project - Component Design
    • Introduction to the Master Project!
    • What is Tailwind?
    • Installing Tailwind
    • Configuring Tailwind
    • Practicing with Tailwind
    • Loading Static Assets
    • What’s Next?
    • Navigation and Modal Components
    • Designing a Modal
    • Creating a Shared Component
    • Creating a Reusable Modal
    • Multi-slot Content Projection
    • Understanding Services
    • Creating a Service
    • Understanding Dependency Injection
    • Injecting Services
    • Signal Queries
    • Opening the Modal
    • Closing the Modal
    • Memory Leaks
    • Fixing the memory leak
    • Creating a Tabs Component
    • The contentChildren Query Signal
    • Looping through the Tabs
    • Setting an Active Tab
    • Toggling Tabs
    • Preventing the Default Behavior
  •   Section 7: Master Project - Reactive Forms
    • Preparing the Forms
    • Registering a New Form
    • Adding Form Controls
    • Binding a Form
    • Form Validation
    • Understanding Errors
    • Handling Errors
    • Form Controller Status
    • Designing an Input Component
    • Binding Form Controls
    • Updating the Template
    • Validating Emails
    • Validating Numbers
    • Validating Passwords with Patterns
    • Input Masking
    • Applying Input Masking
    • Disabling Buttons
    • Handling Form Submission
    • Designing an Alert Component
  •   Section 8: Master Project - Template Forms
    • Importing the FormsModule
    • Registering a new Form
    • Two-way Binding
    • Template Variables
    • Attribute Validation
    • Handling Error Messages
    • Preparing the Password Field
    • Handling Form Submission
  •   Section 9: Introduction to RxJS
    • Introduction to RxJS
    • Observables
    • Observers
    • Pushing Asynchronous Values
    • Unsubscribing from Observables
    • Declarative Programming with Operators
    • Timing Operators
    • DOM Event Operators
    • The of and from Operators
    • Understanding Pipeable Operators
    • The Map Operator
    • Marble Diagram
    • Filter Operator
    • Reduce Operator
    • Take Operator
    • Tap Operator
    • Understanding Flattening Operators
    • mergeMap Operator
    • switchMap Operator
    • concatMap Operator
    • exhaustMap Operator
    • Flattening Operators Recap
  •   Section 10: Master Project - Authentication
    • Setting Up Firebase
    • Reviewing the Rules
    • Installing AngularFire
    • Importing AngularFire
    • User Registration
    • Handling the Response
    • Buckets, Collections and Documents
    • Firestore Provider
    • Storing User Data
    • Refactoring to a Service
    • Interfaces vs. Classes
    • Connecting the User with their Data
    • Database Rules
    • Understanding Authentication
    • Authentication after Registration
    • The User Observable
    • The Async Pipe
    • Setting Up the Login
    • Destroying the Modal
    • The Delay Operator
    • Signing Out
    • Sidebar JSON Web Tokens
  •   Section 11: Master Project - Custom Validators
    • Validating Passwords
    • Creating a Validator Class
    • Factory Functions
    • Handling Errors
    • Creating an Asynchronous Validator
    • Validating Unique Emails
    • Finalizing the Validator
  •   Section 12: Master Project - Routing
    • Understanding Routing
    • Configuring the Router
    • Registering Routes
    • Exercise Registering a Route
    • Adding Navigation Links
    • Active Links
    • Creating the Manage Route
    • Forcing Redirection
    • A Quick Refactor
    • Adding Route Data
    • Filtering Router Events
    • Retrieving Data Outside of the Outlet
    • Exercise Registering a Route with Data
    • Route Parameters
    • Subscribing to Route Parameters
    • Query Parameters
    • Learning More About Query Parameters
    • Selecting an Option
    • Wildcard Routes
    • Updating Routes
    • Route Guards
  •   Section 13: Master Project - Uploading Files
    • Understanding File Uploads
    • Blocking Events with Directives
    • Handling Drag and Drop Events
    • Handling Files
    • Multi-Step Form
    • The Upload Form
    • Uploading Files with Firebase
    • Firebase Rules and Validation
    • Adding an Alert Component
    • Upload Progress Observable
    • Handling Errors and Successful Uploads
    • Storing the File Data
    • Adding the File Data to the Database
    • Firebase References and Snapshots
    • Disabling Forms
    • Canceling Uploads
    • Redirection after Upload
    • Storing a Timestamp
    • Querying the Database
    • Storing the List of Clips
    • Displaying the List of Clips
    • Preparing the Form
    • Passing on the Clip Data
    • Binding the Edit Form
    • Updating Clips
    • Updating the List of Clips
    • Deleting a Clip from the Storage and Database
    • Sorting Clips with Computed Signals
  •   Section 14: WebAssembly & Rust
    • What is WebAssembly?
    • Getting Started with Rust
    • Exploring the Starter Project
    • Variables
    • Data Types
    • Debugging with Macros
    • Control Flow
    • Match Expressions
    • Arrays
    • Vectors
    • Structures
    • Ownership
    • Results
    • Preparing the Project
    • Installing Webpack
    • Configuring Webpack
    • Reading Files
    • Compiling Rust with Webpack
    • Importing Web Assembly
    • Logging Files
    • Base64 Decoding
    • Loading an Image from Memory
    • Grayscaling an Image
    • Buffering an Image
    • Encoding an Image
    • App Deployment
  •   Section 15: Master Project - Processing Videos with FFmpeg
    • Understanding FFmpeg
    • Installing FFmpeg
    • Custom Asset Paths
    • Adding support for SharedArrayBuffer
    • Loading FFmpeg with a Service
    • Initializing FFMPeg
    • Saving Files in Memory
    • Generating a Screenshot
    • Generating Multiple Screenshots
    • Creating Screenshot URLs
    • Rendering Screenshots
    • Adding Feedback
    • Selecting a Screenshot
    • Updating the Firebase Storage Rules
    • Uploading a Blob
    • Recalculating the Upload Progress
    • The forkJoin Operator
    • Deleting Screenshots
  •   Section 16: Master Project - Playing Videos
    • Introduction
    • Creating a List Component
    • Handling Scroll Events
    • Querying for Clips
    • Rendering Clips on the Home page
    • Understanding Cross Origin Issues
    • Fixing Cross Origin Issues
    • Fixing the Timestamp
    • Rendering Clips on the Clip Page
    • Installing Videojs
    • Selecting the Video Player
    • Initializing the Video Player
    • Clip Styles
    • Resolving Data with a Guard
    • Dynamically Rendering the Video
    • Fixing the Manage Page
    • Copying Links to the Clipboard
  •   Section 17: Master Project - Deployment
    • Production Budgets
    • Modifying Firebase Rules
    • Deploying an App with Vercel
  •   Section 18: Master Project - Testing
    • Introduction to Testing
    • Understanding Karma and Jasmine
    • Preparing Our App for Testing
    • Writing a Sanity Test
    • Angular’s Test Bed Utility
    • Testing a Component’s Instance
    • Querying the Component’s Template
    • Inverting Matchers
    • Testing Nested Components
    • Testing Content Projection
    • Custom Matcher Error Messages
    • Mocking Services
    • Overriding a Dependency
    • Providing the Router in Tests
    • Exercise Testing the Logout Link
    • Simulating DOM Events
    • Installing Cypress
    • Exploring Cypress
    • Writing an E2E Sanity Test
    • Testing the Video Player
  •   Where To Go From Here?
    • Thank You!
    • Review This Course!
    • Become An Alumni
    • Learning Guideline
    • ZTM Events Every Month
    • LinkedIn Endorsements

Taught by

Luis Ramirez Jr

Reviews

Start your review of Complete Angular Developer: Zero to Mastery

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.