
Create a new Angular CLI workspace using Nx tools, then organize apps and libs and configure angular.json and nx.json with VS Code and Prettier.
Introduce library types: feature, ui, data access, and utility libraries, and explain presentational and smart components, inputs and outputs, and state management with backend systems.
Create your first Angular component by building a landing component inside a containers folder, and wire it into the home feature module with routing and lazy loading.
Create a reusable Angular theme picker by building a theme speaker library, a theme picker component, and exporting Angular Material modules for a menu with icons to switch themes.
Explore core reactive programming concepts by comparing functions, promises, and generators as data producers and consumers, and by examining pull versus push models.
Explore how observables represent data streams arriving over time, illustrated by marble diagrams. Learn to create, subscribe to, and manage observables with next, error, complete, from events, and arrays.
Explore reactive programming with Angular and RxJS by building a debounced, distinct until changed, switchMap based country filter, highlighting race conditions and async stream advantages.
Learn how to implement reactive forms in Angular, switch from template-driven to reactive forms, build a login form with form group and controls, and apply validators.
apply Angular Material to finish the email input control, add icon and gradient button, adjust typography and border radius, center alignment, and placeholder text for a cohesive ui.
Learn to add custom animations to Angular components using the BrowserAnimationsModule and the Angular animations package, defining trigger, state, style, transition, and animate to create bidirectional transitions.
The lecture explains connecting the language picker to the store using language state and selectors, dispatching a change language action via a language service.
With so many tools and options for frontend development with Angular, these days starting new apps is as easy as taking a starter kit from Github or maybe run a few CLI commands and you are on your way. Unfortunately, our CLI tools or starter kits do not know the complexity of our application so it is in our hands to make the right decisions when adding a new block of code or make architectural decisions. In this course, we are going to focus not only on building a solid foundation for your application but also on explaining and making you sure you understand the reasons and benefits behind those decisions so you can make your owns later on.