Skip to content

Angular Foundations

Angular Foundations picks up where TypeScript Foundations left off. You can write typed, structured JavaScript. Now you will use that foundation to build modern, production-quality single-page applications with Angular.

Every concept in this course is applied directly to CinemaVault — a movie catalog SPA powered by the TMDb API that you build from scratch and ship as a fully deployed app by the final module.

  • Angular fundamentals — what Angular is, how the CLI works, and how the framework renders your app
  • Components — the @Component decorator, templates, @Input and @Output, lifecycle hooks, and the standalone component model
  • Templates and data binding — interpolation, property binding, event binding, @if/@for control flow, and pipes
  • Routing — client-side navigation, RouterOutlet, RouterLink, route parameters, and route guards with side effects
  • Services and dependency injection — @Injectable, the DI system, singleton services, shared signal state, and inject()
  • Reactive forms and HTTP — FormGroup, FormControl, validators, HttpClient, and key RxJS operators

This course assumes you have completed TypeScript Foundations or have equivalent knowledge. You should be comfortable with TypeScript types, interfaces, classes, generics, and async/await. No prior Angular experience is assumed.

All seven modules build the same real application — CinemaVault, a movie catalog SPA powered by the TMDb API. You can explore the live app or browse the source on GitHub.

The finished app:

  • Fetches live movie data from the TMDb API and types every response with TypeScript interfaces
  • Shows trending and popular movies on the Home page
  • Lets you filter movies by genre, year, and sort order on the Browse page
  • Searches movies with a reactive form that debounces API calls
  • Shows full movie details including cast on a dedicated Movie Detail page
  • Lets you save movies to a Watchlist that persists across sessions via localStorage
  • Protects the Watchlist route with a guard that shows a toast notification when empty

By Module 07 you will wire all of these pieces together into a working, deployed Angular app.