Anabatic — Tech stack (internal engagements)
TL;DR
Scope: This memo covers internal Anabatic tooling only ([[Areas/Anabatic/Anabatic]] engagements). Personal, client, or other employment stacks elsewhere in the vault are out of scope here.
Inside that boundary, products are usually split backend repo + frontend repo: NestJS APIs, Angular SPAs, PostgreSQL persistence, Redis (caching / queues / session-adjacent use per app), Firebase for push notifications, and multi-stage environments (dev → staging → UAT → production). Authentication is centralized in Portal (SSO; vault path alias anabatic-sso — [[Projects/anabatic-sso/anabatic-sso]]); consuming apps rely on HTTP cookies issued by that flow.
Repository layout
- Separate repositories per concern — typically one backend (NestJS) and one frontend (Angular) per product unless history says otherwise.
Backend
- Runtime / framework: [[Resources/Tech/NestJS/NestJS]]
Frontend
- Framework: [[Resources/Tech/Angular/Angular]]
Data & infra
| Concern | Default |
|---|
| Primary database | [[Resources/Tech/PostgreSQL/PostgreSQL]] |
| Redis | [[Resources/Tech/Redis/Redis]] — patterns vary (cache, queues); confirm per repo |
Runtime environments
- Naming / progression: dev → staging → UAT → production (exact URLs and config live per project hub / repo
environment*.ts and backend env files).
Mobile / device messaging
- Push notifications: [[Resources/Tech/Firebase/Firebase]] (FCM — project-specific keys and workflows live on product hubs).
Authentication & authorization
- Portal (SSO): All Anabatic internal apps authenticate through Portal ([[Projects/anabatic-sso/anabatic-sso]]).
- Mechanism: Cookie-based session between Portal/IdP, APIs, and SPAs — details (login redirect, cookie names, middleware, refresh) belong in [[Projects/anabatic-sso/anabatic-sso]] and linked runbooks/context.
Planned deep-dives (add when ready)
Paste or author dedicated notes under [[Projects/anabatic-sso/anabatic-sso]] / Projects/anabatic-sso/context/:
- End-to-end auth flow (login, callback, cookie scope, API verification).
- Menu sourcing and entitlement wiring.
- RBAC model (roles, assignments, enforcement layers).
- Registering a new app with Portal / IdP checklist.
Related
- [[Areas/Anabatic/Anabatic]]
- [[Projects/anabatic-sso/anabatic-sso]]
- Internal product hubs (examples): [[Projects/anabatic-claim/anabatic-claim]], [[Projects/anabatic-conexus/anabatic-conexus]], [[Projects/anabatic-contract-management-system/anabatic-contract-management-system]]
- Contrast — non-employer / LumenDev defaults: [[Resources/Tech/Personal default fullstack stack]]