Project Layout

Repository root

Path Purpose

src/

Application source. See below.

config/

Node script that renders src/environments/environment.ts and proxy.json from templates. Run via npm run pre-build.

proxy/

Checked-in dev-server proxy configs for named backend environments.

proxy.json

Generated proxy config (output of pre-build:proxy).

cypress/

Cypress end-to-end specs and fixtures.

e2e/

Legacy Protractor scaffolding.

tests/

Shared test helpers.

docs/

This Antora documentation component. Consumed as a content source by the central Payability playbook; start_path: docs.

angular.json

Angular CLI workspace: build targets, budgets, asset globs, style preprocessing.

buildspec.yaml

AWS CodeBuild pipeline definition.

Makefile

Ergonomic wrapper over the npm scripts, parameterized by ENV_NAME / ENV_TYPE.

ngsw-config.json

Service worker caching strategy.

.eslintrc.js, .prettierrc

Lint and format configuration.

.husky/, .lintstagedrc.json

Pre-commit hooks (format staged, lint staged, tests on push).

style-guide.md

The adopted naming and structure conventions.

src/

Path Purpose

main.ts

Bootstraps AppModule.

polyfills.ts

Zone.js and legacy browser polyfills.

styles.scss

Global stylesheet entry point.

index.html

Document shell, includes the splash screen markup.

manifest.webmanifest

PWA manifest.

eventLogger.bundle.min.js

Pre-bundled analytics helper loaded outside the Angular build.

karma.conf.js, test.ts

Unit test runner configuration and entry point.

assets/i18n/en.ts

Every translated string in the application.

assets/media/

Icons and images registered with PybIconRegistryService.

environments/

environment.ts (generated — never edit), environment.prod.ts, and environment.service.ts which types and exposes it.

app/

The application itself.

src/environments/environment.ts is generated by config/pre-build.js from config/environment.template. Editing it directly is lost on the next build. To add a new setting, add it to the template and to EnvironmentService.

src/app/

src/app/
├── app.module.ts               root NgModule
├── app.component.{ts,html,scss}
├── app-routing.module.ts       root route table
├── translate-loader.ts         local (non-HTTP) ngx-translate loader
│
├── core/                       singletons — see Architecture Overview
│   ├── _base/                  crud, layout, interfaces, tasks-flow
│   ├── _config/                menu, layout, page, ag-grid, URLS_ROUTER
│   ├── api-connectors/         amazon, shopify, abstract base
│   ├── auth/                   the auth subsystem
│   ├── initializers/           APP_INITIALIZER providers
│   ├── marqeta/                Marqeta SDK wrapper
│   ├── material/               curated Angular Material surface
│   ├── pyb/                    all business logic
│   ├── reducers/               root store config
│   └── reports/                report infrastructure
│
├── vendors/
│   ├── cloud-watch/            metric service + module + DI token
│   └── plaid/                  Plaid Link module, tokens, constants
│
└── views/
    ├── consts/                 view-layer constants
    ├── onboarding/             the onboarding flow (own shell + steps)
    ├── pages/                  lazy feature pages
    ├── partials/               shared widgets, modals, components, content
    ├── templates/              reusable form templates (e.g. simple-address-form)
    └── theme/                  the authenticated shell — base, header, aside, footer, subheader

src/app/views/pages

Each folder is a lazy-loaded route target.

Folder Route Documented in

auth/

/auth, /login

Authentication

dashboard/

/dashboard

Dashboard

manage-account/

/manage-account

Manage Account

reports/

/reports

Reports

seller-card/

/seller-card

Seller Card Pages

newcard/

/newcard

Seller Card Pages

my-marketplaces/

/my-marketplaces

My Marketplaces

product-offerings/

/product-offerings

Product Offerings

vendorpay-incoming-reports/

/vendor-pay

Vendor Pay

send-money/

/send-money

Other Pages

partners/

/partners

Other Pages

more-from-payability/

/referral

Other Pages

payshield-subscription/

/payshield-subscription

Other Pages

blog-page/

/blog

Other Pages

sales-call-summary/

/sales-call-summary

Other Pages

settings/

(child modules reused by manage-account)

Manage Account

src/app/views/partials

Folder Contents

components/

~25 UI primitives — buttons, banners, status badges/chips, image upload/preview, hint popovers, skeletons, card visuals, punch card, contact support.

widgets/

~18 dashboard and page widgets, each bound to a store slice.

modals/

~35 dialogs — product flows, Seller Card operations, 2FA, cancellation survey, legal info, transfer funds.

content/

CTA strategy factory, export dialogs, TabaPay iframe, general content blocks.

layout/

Splash screen, subheader, mobile report row.

Full inventory: Shared Components.