Welcome to the Angular Course Repository! This repository includes resources, modules, and objectives for an in-depth Angular course. You'll progressively learn core Angular concepts, work on practical labs, and complete a comprehensive project that covers advanced features, optimization, and deployment.
Node.js is required for running Angular projects and using npm (Node Package Manager) to install dependencies.
- Download and install Node.js from nodejs.org.
Angular CLI is a command-line interface for Angular development.
-
Install Angular CLI globally using the following command:
npm install -g @angular/cli
Once Angular CLI is installed, follow these steps to create a new Angular project:
-
Create a new Angular project by running the following command in your terminal:
ng new my-angular-app
-
Follow the prompts to set up your project (e.g., choose whether to include routing, select a CSS preprocessor).
-
Navigate into the project folder:
cd my-angular-app -
Run the application:
ng serve
-
Open a browser and navigate to
http://localhost:4200/to view your app.
standalone: true: The component can be used without a module. It can import its own dependencies..
standalone: false: The component must be part of a module. It depends on the module for its setup.
- Objectives: Learn TypeScript basics and its integration with Angular.
- Topics:
- Introduction to TypeScript
- TypeScript features and syntax
- Variables, types, functions
- Classes and interfaces
- TypeScript in Angular
- Objectives: Understand the building blocks of Angular applications.
- Topics:
- Components, templates, and modules
- Component lifecycle hooks
- Creating and using Angular modules
- Angular application structure and best practices
- Objectives: Master data binding and directives.
- Topics:
- Property and event binding
- Two-way data binding with
ngModel - Built-in directives (
ngIf,ngFor,ngClass,ngStyle) - Custom directives
- Objectives: Manage communication between components.
- Topics:
- Input and Output decorators
- Event emitters
- Parent-child communication
- ViewChild and ContentChild decorators
- Objectives: Learn the role of services and dependency injection.
- Topics:
- Creating and using services
- Dependency injection
- Hierarchical injectors
- Managing application-wide services
- Objectives: Master routing and navigation mechanisms.
- Topics:
- Configuring routes
- RouterLink and router-outlet
- Route guards and lazy loading
- Child routes and nested routing
- Objectives: Handle forms and user inputs.
- Topics:
- Template-driven and reactive forms
- Form validation and custom validators
- FormBuilder and form arrays
- Objectives: Make HTTP requests and handle responses.
- Topics:
- Introduction to Angular HttpClient
- GET, POST, PUT, DELETE requests
- Handling responses and errors
- Interceptors and authentication
- Objectives: Use observables and RxJS.
- Topics:
- Introduction to RxJS
- Observables, observers, subscriptions
- RxJS operators (
map,filter,mergeMap,switchMap) - Observables with Angular HttpClient
- Objectives: Develop advanced components and custom directives.
- Topics:
- Dynamic components and
ngTemplateOutlet - Content projection and
ng-content - Custom attribute and structural directives
- Advanced component styling
- Dynamic components and
- Objectives: Effectively manage application state.
- Topics:
- State management with services
- NgRx (Store, Effects, Reducers)
- Best practices for state management
- Objectives: Test Angular applications.
- Topics:
- Unit testing with Jasmine and Karma
- Component testing with TestBed
- End-to-end testing with Protractor
- Objectives: Optimize performance in Angular.
- Topics:
- Change detection strategies
- Lazy loading and preloading modules
- Performance monitoring and profiling
- Objectives: Implement i18n and accessibility features.
- Topics:
- Internationalization (i18n) setup
- Accessibility best practices
- Documentation: Angular Documentation
- Books:
- Angular Up & Running by Shyam Seshadri
- Pro Angular by Adam Freeman
- Online Courses: Angular courses on Udemy, Coursera, Pluralsight
- Tools: Visual Studio Code, Angular CLI, Postman
Happy coding and good luck on your Angular journey!