Kevin Cunningham August 2023
Miro: https://miro.com/app/board/uXjVMwF93CU=/
Timings:
- 7-9.30am (BST) / 11.30-2pm (IST)
- 12.30-2.30pm (BST) / 5pm-7pm (IST)
- Learning Objectives: Establish course expectations, gauge participants' existing knowledge, clarify goals, and ensure proper environment setup.
- Summary: Introduction to the course, gathering information on what participants already know, understanding what they want to learn, and setting up Angular environment.
- Learning Objectives: Understand Angular architecture, components, directives, services, and modules, and how to structure a large application.
- Summary: Detailed exploration of Angular's core architectural concepts, including creating components, utilizing the CLI, and binding data.
- Learning Objectives: Grasp testing essentials, explore test-driven development, code coverage, test automation, mocking, and TestBed.
- Summary: Introduction to testing methodologies in Angular, including writing and automating tests, leveraging mocks, and understanding how testable components fit within the architecture.
- Learning Objectives: Create a consistent and modern user experience, de-bounce fields, and understand quality-of-service for UI.
- Summary: Techniques for crafting engaging user experiences, ensuring quality interaction, and implementing responsive designs in Angular.z
- Learning Objectives: Design meaningful client-side routes, pass data efficiently, explore custom events, and large-scale apps.
- Summary: In-depth look at Angular's routing capabilities, including how to design routes that meet specific application needs and optimize data transmission.
- Learning Objectives: Understand built-in Angular security features, learn to build secure interactions, and decide on model data persistence.
- Summary: Exploration of security practices in Angular, focusing on protecting user data, secure communication, and understanding where to persist data.
- Learning Objectives: Master ideal validation techniques, understand template-driven and reactive forms, and explore real-world examples of data-driven forms.
- Summary: A comprehensive guide to working with forms in Angular, focusing on validation techniques, different types of forms, and practical examples.
// Simulate a CSRF attack
-
Learning Objectives: Deal with large and rapidly changing data sets, optimize renderers, explore custom class inheritance, and understand when to use Promises or Observables.
-
Summary: Deep dive into managing data in Angular applications, including handling large data sets, enhancing performance, and using custom class inheritance.
-
Change Detection Strategy [Default, OnPush]
-
including tree shaking, lazy loading, and code splitting.
-
focusing on optimization at the code and architectural levels
-
Lifecycle hooks - ngOnInit - why and when would we use the other hooks?
- Learning Objectives: Explore real-world examples using server and client-side ECMAScript, and understand trends in noSQL data storage, Node, and related technologies.
- Summary: An examination of full-stack development using ECMAScript, focusing on current trends, technologies, and practical examples.
- Learning Objectives: Understand how to migrate an older Angular application to the latest version; identify potential challenges and best practices.
- Summary: Guidance on migrating from previous versions of Angular, including tools, common obstacles, and best practices for a smooth transition.
- Learning Objectives: Learn how to design, build, implement and distribute Angular libraries.
- Summary: Techniques for building reusable parts of an Angular application, focusing on creating modular and maintainable code.
- Learning Objectives: Develop skills to identify and resolve common issues in Angular templates and applications.
- Summary: Hands-on practice with debugging Angular applications, focusing on templates, testing techniques, and common troubleshooting strategies.
- Learning Objectives: To understand NgRx and use actions, reducers and selectors effectively.
- Summary: Build a small app together that will use all of the core NgRx concepts that can be applied to more complex use cases.
- Learning Objectives: Learn techniques to optimize the performance of an Angular application, including tree shaking, lazy loading, and code splitting.
- Summary: Advanced performance techniques to make Angular applications faster and more efficient, focusing on optimization at the code and architectural levels.
- Learning Objectives: Understand how to work with local storage in Angular for state management and data persistence.
- Summary: Practical guidance on using local storage in Angular applications, including common use cases, best practices, and considerations for security.
-
Learning Objectives:
- Understand the concept and importance of standalone components in Angular.
- Learn to design, create, and implement standalone components for reusable UI elements.
- Explore encapsulation, input/output bindings, and best practices for standalone components.
-
Summary:
- An exploration of standalone components in Angular, focusing on creating reusable UI elements that can be easily integrated across different parts of an application.