Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
232 changes: 232 additions & 0 deletions tutorials/angular/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,232 @@
```txt
docs/
└── tutorials/
└── angular/
├── index.mdx
├── 01-introduction/
│ ├── what-is-angular.mdx
│ ├── angular-features.mdx
│ ├── angular-vs-react.mdx
│ ├── angular-vs-vue.mdx
│ ├── angular-architecture.mdx
│ └── how-angular-works.mdx
├── 02-environment-setup/
│ ├── install-nodejs-and-npm.mdx
│ ├── install-angular-cli.mdx
│ ├── setup-vscode-for-angular.mdx
│ ├── angular-playground.mdx
│ └── verify-installation.mdx
├── 03-first-angular-application/
│ ├── create-angular-project.mdx
│ ├── angular-project-structure.mdx
│ ├── run-development-server.mdx
│ ├── angular-application-bootstrap.mdx
│ ├── angular-configuration-files.mdx
│ └── build-and-serve.mdx
├── 04-components/
│ ├── component-fundamentals.mdx
│ ├── create-components.mdx
│ ├── component-metadata.mdx
│ ├── standalone-components.mdx
│ ├── component-lifecycle.mdx
│ ├── component-communication.mdx
│ ├── input-and-output.mdx
│ ├── model-inputs-and-two-way-binding.mdx
│ └── reusable-components.mdx
├── 05-templates-and-data-binding/
│ ├── template-syntax.mdx
│ ├── interpolation.mdx
│ ├── property-binding.mdx
│ ├── event-binding.mdx
│ ├── two-way-data-binding.mdx
│ ├── template-reference-variables.mdx
│ ├── attribute-and-class-binding.mdx
│ └── template-expression-best-practices.mdx
├── 06-control-flow-and-directives/
│ ├── built-in-control-flow.mdx
│ ├── conditional-rendering.mdx
│ ├── loops-and-track.mdx
│ ├── switch-control-flow.mdx
│ ├── built-in-directives.mdx
│ ├── custom-attribute-directives.mdx
│ ├── structural-directives-and-legacy-syntax.mdx
│ └── custom-structural-directives.mdx
├── 07-signals-and-reactivity/
│ ├── signals-fundamentals.mdx
│ ├── signal-and-value-updates.mdx
│ ├── computed-signals.mdx
│ ├── effects-and-side-effects.mdx
│ ├── linked-signals.mdx
│ ├── signal-inputs.mdx
│ ├── signals-and-change-detection.mdx
│ └── signals-vs-rxjs.mdx
├── 08-typescript-for-angular/
│ ├── typescript-fundamentals.mdx
│ ├── interfaces-and-type-aliases.mdx
│ ├── generics-and-utility-types.mdx
│ ├── strict-type-checking.mdx
│ ├── typed-components.mdx
│ └── typing-events-and-forms.mdx
├── 09-services-and-dependency-injection/
│ ├── service-fundamentals.mdx
│ ├── create-angular-services.mdx
│ ├── dependency-injection-overview.mdx
│ ├── inject-function.mdx
│ ├── injection-tokens.mdx
│ ├── provider-scopes.mdx
│ ├── hierarchical-injectors.mdx
│ └── service-design-patterns.mdx
├── 10-routing-and-navigation/
│ ├── router-setup.mdx
│ ├── route-configuration.mdx
│ ├── router-outlet-and-links.mdx
│ ├── route-parameters.mdx
│ ├── query-parameters.mdx
│ ├── child-and-nested-routes.mdx
│ ├── route-guards.mdx
│ ├── resolvers-and-data-loading.mdx
│ ├── lazy-loading.mdx
│ ├── route-level-providers.mdx
│ └── navigation-and-error-routes.mdx
├── 11-forms-and-validation/
│ ├── forms-overview.mdx
│ ├── template-driven-forms.mdx
│ ├── reactive-forms.mdx
│ ├── typed-reactive-forms.mdx
│ ├── form-controls-and-groups.mdx
│ ├── form-arrays.mdx
│ ├── built-in-validators.mdx
│ ├── custom-validators.mdx
│ ├── async-validators.mdx
│ ├── cross-field-validation.mdx
│ └── dynamic-forms.mdx
├── 12-http-and-api-integration/
│ ├── httpclient-setup.mdx
│ ├── get-post-put-and-delete.mdx
│ ├── typed-api-responses.mdx
│ ├── http-error-handling.mdx
│ ├── interceptors.mdx
│ ├── authentication-headers.mdx
│ ├── request-cancellation.mdx
│ ├── retry-and-timeout-strategies.mdx
│ └── api-service-architecture.mdx
├── 13-rxjs-and-observables/
│ ├── observables-fundamentals.mdx
│ ├── observers-and-subscriptions.mdx
│ ├── operators-and-pipelines.mdx
│ ├── map-filter-and-tap.mdx
│ ├── switchmap-mergemap-and-concatmap.mdx
│ ├── subjects-and-behavior-subjects.mdx
│ ├── error-handling-and-retry.mdx
│ ├── async-pipe.mdx
│ ├── signals-and-observables-interop.mdx
│ └── subscription-cleanup.mdx
├── 14-state-management/
│ ├── local-component-state.mdx
│ ├── shared-state-with-services.mdx
│ ├── signal-based-state.mdx
│ ├── rxjs-based-state.mdx
│ ├── ngrx-overview.mdx
│ ├── ngrx-store-actions-and-reducers.mdx
│ ├── ngrx-effects-and-selectors.mdx
│ ├── state-management-patterns.mdx
│ └── choosing-a-state-management-approach.mdx
├── 15-styling-and-ui-development/
│ ├── component-styles.mdx
│ ├── global-styles-and-themes.mdx
│ ├── css-encapsulation.mdx
│ ├── responsive-angular-layouts.mdx
│ ├── tailwind-css-with-angular.mdx
│ ├── angular-material-setup.mdx
│ ├── reusable-ui-components.mdx
│ └── design-systems.mdx
├── 16-accessibility-and-internationalization/
│ ├── accessible-angular-components.mdx
│ ├── semantic-html-and-keyboard-navigation.mdx
│ ├── aria-and-accessibility.mdx
│ ├── angular-aria-and-cdk.mdx
│ ├── localization-overview.mdx
│ ├── translation-and-formatting.mdx
│ └── accessibility-testing.mdx
├── 17-testing-and-quality/
│ ├── angular-testing-overview.mdx
│ ├── component-unit-tests.mdx
│ ├── service-tests.mdx
│ ├── dependency-injection-in-tests.mdx
│ ├── http-testing.mdx
│ ├── routing-tests.mdx
│ ├── forms-and-validation-tests.mdx
│ ├── component-harnesses.mdx
│ ├── end-to-end-testing.mdx
│ └── linting-and-formatting.mdx
├── 18-performance-optimization/
│ ├── change-detection.mdx
│ ├── zoneless-angular.mdx
│ ├── onpush-and-component-performance.mdx
│ ├── lazy-loading-and-code-splitting.mdx
│ ├── defer-and-deferrable-views.mdx
│ ├── track-and-list-performance.mdx
│ ├── bundle-analysis.mdx
│ ├── profiling-and-performance-tools.mdx
│ └── performance-best-practices.mdx
├── 19-server-rendering-and-seo/
│ ├── server-side-rendering.mdx
│ ├── static-site-generation.mdx
│ ├── hydration-and-incremental-hydration.mdx
│ ├── prerendering-and-route-configuration.mdx
│ ├── metadata-and-seo.mdx
│ ├── browser-only-apis-and-platform-checks.mdx
│ ├── server-rendering-data-loading.mdx
│ └── deployment-for-rendered-applications.mdx
├── 20-security-and-best-practices/
│ ├── angular-security-model.mdx
│ ├── cross-site-scripting-prevention.mdx
│ ├── safe-template-binding.mdx
│ ├── authentication-and-authorization.mdx
│ ├── route-guards-and-server-security.mdx
│ ├── dependency-security.mdx
│ ├── environment-configuration.mdx
│ └── production-readiness-checklist.mdx
├── 21-advanced-angular/
│ ├── custom-pipes.mdx
│ ├── content-projection.mdx
│ ├── view-queries-and-content-queries.mdx
│ ├── dynamic-component-creation.mdx
│ ├── custom-form-controls.mdx
│ ├── control-value-accessor.mdx
│ ├── library-development.mdx
│ ├── angular-elements.mdx
│ └── migration-and-upgrades.mdx
├── 22-deployment-and-devops/
│ ├── production-builds.mdx
│ ├── environment-and-build-configuration.mdx
│ ├── deploy-to-static-hosting.mdx
│ ├── deploy-to-cloud-platforms.mdx
│ ├── dockerize-angular.mdx
│ ├── nginx-and-web-server-configuration.mdx
│ ├── continuous-integration.mdx
│ └── release-monitoring-and-error-tracking.mdx
├── 23-projects/
│ ├── personal-portfolio.mdx
│ ├── task-management-app.mdx
│ ├── weather-dashboard.mdx
│ ├── ecommerce-storefront.mdx
│ ├── admin-dashboard.mdx
│ ├── authentication-portal.mdx
│ ├── full-stack-angular-app.mdx
│ └── production-capstone.mdx
├── reference/
│ ├── angular-cli-cheatsheet.mdx
│ ├── template-syntax-reference.mdx
│ ├── signals-reference.mdx
│ ├── dependency-injection-reference.mdx
│ ├── router-reference.mdx
│ ├── forms-reference.mdx
│ ├── common-errors-and-solutions.mdx
│ ├── glossary.mdx
│ └── official-resources.mdx
└── assets/
├── images/
├── diagrams/
└── examples/
```
Loading
Loading