> ## Documentation Index
> Fetch the complete documentation index at: https://interview.anantapoudel.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

A complete, structured guide for mastering Angular at an intermediate and senior level.\
This documentation is divided into five main pillars, each containing detailed technical topics, best practices, and interview-grade explanations.

***

## 1. JavaScript & TypeScript Foundations

This section strengthens your base in the two languages that Angular is built on.

### JavaScript Topics

* Variables, scope, hoisting
* Closures and lexical environment
* Prototypes and inheritance
* `this` binding and function context
* Promises and async/await
* Event loop, microtasks, macrotasks
* Destructuring, spread, rest
* Array and object utilities
* Modules (`import`, `export`)
* Error handling and custom errors

### TypeScript Topics

* Primitive and complex types
* Interfaces and type aliases
* Generics in functions and classes
* Utility types (`Partial`, `Pick`, `Record`, etc.)
* Union, intersection, literal types
* Type narrowing and guards
* Decorators
* Access modifiers and OOP patterns
* `tsconfig.json` configuration

***

## 2. Angular Core & Architecture

Understand the structure and design principles behind Angular applications.

### Angular Fundamentals

* Angular project architecture
* NgModule structure and metadata
* Components and templates
* Property binding, event binding, two-way binding
* Lifecycle hooks
* View encapsulation
* Dependency Injection
* Angular compiler (AOT and JIT)

### Component and Template Features

* Template reference variables
* Content projection and multi-slot projection
* Dynamic component rendering
* Host binding and host listening

### Routing & Navigation

* Route configuration
* Parameters and query parameters
* Guards and resolvers
* Lazy loading and preloading strategies
* Router events and scroll restoration

***

## 3. Reactive & State Management

Modern Angular relies heavily on reactivity. This section covers the complete reactive ecosystem.

### Reactive Forms

* FormControl, FormGroup, FormArray
* Validators (sync and async)
* Dynamic forms
* Form value and status streams

### RxJS

* Observables and Subjects
* Common operators
* Error handling
* Combination operators
* Memory-safe patterns (`takeUntil`)

### Signals (Angular 17+)

* `signal()`, `computed()`, `effect()`
* Signal-based reactivity
* Converting between signals and observables
* Building signal-based stores

### State Management

* NgRx store, actions, reducers, selectors
* Effects
* Entity adapter
* Local vs global state
* Facade pattern

***

## 4. Performance, Testing & Security

A senior-level Angular developer must excel in optimization, testing, and application security.

### Performance Optimization

* Change Detection Strategies
* `trackBy` usage
* Immutable update patterns
* Lazy loading and preloading
* Zone-less Angular
* Bundle optimization and budgets

### HTTP & Security

* HttpClient
* Interceptors
* JWT authentication and refresh token handling
* XSS, CSRF, and CORS protections
* DOM sanitization

### Testing

* Jasmine, Karma, Jest
* TestBed configuration
* Component, service, and interceptor tests
* HttpClientTestingModule
* End-to-end testing with Cypress or Playwright

***

## 5. System Design, Deployment & Advanced Angular

Learn how to design, deploy, and scale production-grade Angular applications.

### Architecture

* Feature-based folder structure
* Shared and Core module patterns
* Smart vs dumb components
* Monorepo with Nx
* Interface-driven development

### Build & Deployment

* AOT compilation
* Environment-based configurations
* Tree shaking and code splitting
* CI/CD setup
* Deployment to AWS, Firebase, or Nginx

### Advanced Angular

* Progressive Web Apps (PWA)
* Angular Universal (SSR)
* SEO and pre-rendering
* Microfrontends with Module Federation
* Internationalization (i18n)
* Accessibility

***

# Start Learning

Choose a topic below to begin your Angular learning journey.

<Columns cols={2}>
  <Card title="JavaScript & TypeScript" href="/angular/js-ts/javascript">
    Language fundamentals required for mastering Angular.
  </Card>

  <Card title="Angular Core & Architecture" href="/angular/core/fundamentals">
    Learn Angular from the ground up with real-world architecture patterns.
  </Card>

  <Card title="Reactive & State Management" href="/angular/reactive/rxjs">
    Build scalable reactive applications with RxJS, Signals, and NgRx.
  </Card>

  <Card title="Performance, Testing & Security" href="/angular/advanced/performance">
    Build fast, secure, and well-tested Angular applications.
  </Card>

  <Card title="System Design & Advanced Angular" href="/angular/system/architecture">
    High-level application design, deployment, SSR, PWAs, and microfrontends.
  </Card>
</Columns>
