# Pams Web

## What it is responsible for

[Pams](subsystem-pams) Web subsystem manages the application-facing structure rooted in `AppModule` and `AppRoutingModule`, with named components such as `AppComponent`, `LoginComponent`, and `HomeComponent`. It organizes routing, layouts, shared interface elements, forms, pages, directives, services, and constants under the source path. `ConfigurationModule` and `ConfigurationRoutingModule` are also work-entry modules, while `CoreModule` is identified as another entry point. The available evidence identifies these symbols and roles by name, but does not establish their detailed runtime behavior or relationships.

## What it needs, and who needs it

Pams Web depends on `Pams/Web/portal/pams-web/src/environments` and `Pams`; without those dependencies, this subsystem's referenced environment and Pams inputs are unavailable. No other subsystem is listed as depending on Pams Web. Its entry modules and components, including `AppModule` and `AppComponent`, need this source area to be present.

166 entities in `Pams/Web/portal/pams-web/src/app`. Nothing else in this repository depends on it.

## What it is made of

Its 166 entities sit in 85 files under `Pams/Web/portal/pams-web/src/app`: 58 classes, 36 constants, 22 components, 16 functions and 34 more.
`generic-form.action.ts` holds 13 of them — more than any other file here.
`BaseComponent` declares 9 methods, the widest surface here.

## Where work enters

- [`AppRoutingModule`](module-approutingmodule-4) — `Pams/Web/portal/pams-web/src/app/app-routing.module.ts`:1
- [`AppModule`](module-appmodule-2) — `Pams/Web/portal/pams-web/src/app/app.module.ts`:1
- [`ConfigurationRoutingModule`](module-configurationroutingmodule-2) — `Pams/Web/portal/pams-web/src/app/modules/configuration/configuration-routing.module.ts`:1
- [`ConfigurationModule`](module-configurationmodule) — `Pams/Web/portal/pams-web/src/app/modules/configuration/configuration.module.ts`:1
- [`CoreModule`](module-coremodule-2) — `Pams/Web/portal/pams-web/src/app/modules/core/core.module.ts`:1

## How it refuses and fails

1 of its components records a refusal or a failure handler.
It refuses work outright, under a condition written into the component itself.

## Boundaries

It depends on `Environments`, `Pams`, and on nothing else in this repository.

## How this code is named

These conventions cover most of the codebase. Learning them is faster than reading an index —
each one lets you find any member of its family without looking it up.

| Pattern | Where | Count | Examples |
|---|---|---|---|
| `*.component.ts` | across the repository | 22 | `app.component.ts`, `base.component.ts`, `menu.component.ts`, `home.component.ts` |
| `*.model.ts` | across the repository | 16 | `menu.model.ts`, `alert.model.ts`, `login.model.ts`, `person.model.ts` |
| `*.service.ts` | across the repository | 9 | `menu.service.ts`, `auth.service.ts`, `model.service.ts`, `utils.service.ts` |
| `*.module.ts` | across the repository | 5 | `app.module.ts`, `core.module.ts`, `app-routing.module.ts`, `configuration.module.ts` |
