docs: sync documentation after perf/a11y/release-candidate work
- PROJECT.md: Current Status updated (perf/a11y/RC walkthrough all
done, new report docs added to index).
- FRONTEND-ROADMAP.md: RC PERF-01, RC A11Y-01, and Release Candidate
walkthrough entries added; known-open-items list updated (2 new
flags from RC walkthrough, primeng removal blocker, large chunks,
backend-ready sprint explicitly deferred pending a real API contract).
- KNOWN-ISSUES.md: corrected item 6 (payment modal focus-trap
assumption was wrong, now actually fixed); added items 9-12 (brand
contrast failures, Contacts content gap, WYSIWYG editor mislabeled,
primeng removal blocker); added 2 Fixed entries for this cycle's
P0s (query-param routing, Categories CRUD).
- Graphify graph regenerated (graphify-out/, cache only, not tracked).
- Obsidian: skipped, no running Obsidian instance in this session.
- No architecture change this cycle (perf/a11y/bug fixes only) — no
new ADR.
- No application code touched.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-24 10:51:05 +04:00
# Marketplace Platform
## Read First
- **DESIGN.md** — does not exist under this name; closest equivalent is [ARCHITECTURE.md ](ARCHITECTURE.md ) (system design) + `docs/architecture/foundation/**` (enforced standards/ADRs).
- **BACKEND-API.md** — does not exist under this name; canonical spec is [backend/BACKEND-INTEGRATION.md ](backend/BACKEND-INTEGRATION.md ).
- **[ADMIN.md ](ADMIN.md )**
- **[EDITOR.md ](EDITOR.md )**
- **[KNOWN-ISSUES.md ](KNOWN-ISSUES.md )**
- **[FRONTEND-ROADMAP.md ](FRONTEND-ROADMAP.md )**
- **ADR/** — `docs/architecture/foundation/adr/` (ADR-001…ADR-010) and `docs/context/adrs/` .
docs: consolidate scattered docs into canonical set
Replace ~35 organically-grown docs (docs/platform/*, docs/backend-platform/*,
one-off sprint reports, Search.md, Diagnostics.md, Content-Management.md,
Backend-Handoff-Sprint16.md, docs/superpowers/*, docs/Project-Editor.md,
untracked docs/total.md) with the six canonical docs declared in
.claude/CLAUDE.md: PROJECT.md, ARCHITECTURE.md, BACKEND.md, FRONTEND.md,
BOOTSTRAP.md, EDITOR.md, plus a new PROJECT-STRUCTURE.md.
- BACKEND.md is a punch list per domain (auth, bootstrap draft/publish,
static pages, categories, products, orders, dashboard metrics, activity,
translations, search, product engagement) plus a Known reliability issues
section on the prod 502/504 root cause.
- ARCHITECTURE.md links to (does not duplicate) the enforced
docs/architecture/foundation/** ADRs and standards docs.
- docs/ADMIN.md and docs/architecture/foundation/** and docs/context/** are
left untouched per instructions.
- Updated the one dangling docs/Project-Editor.md reference in
admin-auth.service.ts to point at docs/BACKEND.md.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 12:28:41 +04:00
## What this is
2026-07-19 15:28:35 +04:00
A configuration-driven, multi-tenant SaaS marketplace platform (Angular 18+, standalone components). One frontend codebase serves unlimited tenants ("marketplaces"). Tenant identity, theme, navigation, page/section/widget composition, and static content are all resolved from a per-tenant `bootstrap.json` fetched at runtime — no tenant-specific code paths exist in the frontend. See `docs/ARCHITECTURE.md` and `docs/backend/BACKEND-INTEGRATION.md#4-bootstrap` for the mechanics.
docs: consolidate scattered docs into canonical set
Replace ~35 organically-grown docs (docs/platform/*, docs/backend-platform/*,
one-off sprint reports, Search.md, Diagnostics.md, Content-Management.md,
Backend-Handoff-Sprint16.md, docs/superpowers/*, docs/Project-Editor.md,
untracked docs/total.md) with the six canonical docs declared in
.claude/CLAUDE.md: PROJECT.md, ARCHITECTURE.md, BACKEND.md, FRONTEND.md,
BOOTSTRAP.md, EDITOR.md, plus a new PROJECT-STRUCTURE.md.
- BACKEND.md is a punch list per domain (auth, bootstrap draft/publish,
static pages, categories, products, orders, dashboard metrics, activity,
translations, search, product engagement) plus a Known reliability issues
section on the prod 502/504 root cause.
- ARCHITECTURE.md links to (does not duplicate) the enforced
docs/architecture/foundation/** ADRs and standards docs.
- docs/ADMIN.md and docs/architecture/foundation/** and docs/context/** are
left untouched per instructions.
- Updated the one dangling docs/Project-Editor.md reference in
admin-auth.service.ts to point at docs/BACKEND.md.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 12:28:41 +04:00
Every tenant conceptually has three surfaces on this one codebase:
- **Website** — the public storefront (catalog, product pages, cart, static pages).
- **Builder** (Project Editor) — an in-app editor that edits the tenant's `BootstrapConfig` (see `docs/EDITOR.md` ).
- **Backoffice** (Admin) — an admin area for products, and (as of Sprint 19) a dashboard; more domains are placeholders pending backend (see `docs/ADMIN.md` ).
## Tenant / marketplace model
- Tenant is resolved **only by request domain/host ** — never by query param, localStorage, or hardcoded ID.
- The frontend loads `GET /bootstrap` (tenant resolved server-side by host) and renders entirely from that JSON: theme, layout, navigation, pages, sections, widgets, static pages, feature flags.
- Widgets never call APIs directly; they receive resolved data through facades/resolvers.
- New tenants are onboarded by domain + bootstrap config + backend data, not by forking the frontend.
2026-07-19 15:28:35 +04:00
- Full contract: `docs/backend/BACKEND-INTEGRATION.md#4-bootstrap` .
docs: consolidate scattered docs into canonical set
Replace ~35 organically-grown docs (docs/platform/*, docs/backend-platform/*,
one-off sprint reports, Search.md, Diagnostics.md, Content-Management.md,
Backend-Handoff-Sprint16.md, docs/superpowers/*, docs/Project-Editor.md,
untracked docs/total.md) with the six canonical docs declared in
.claude/CLAUDE.md: PROJECT.md, ARCHITECTURE.md, BACKEND.md, FRONTEND.md,
BOOTSTRAP.md, EDITOR.md, plus a new PROJECT-STRUCTURE.md.
- BACKEND.md is a punch list per domain (auth, bootstrap draft/publish,
static pages, categories, products, orders, dashboard metrics, activity,
translations, search, product engagement) plus a Known reliability issues
section on the prod 502/504 root cause.
- ARCHITECTURE.md links to (does not duplicate) the enforced
docs/architecture/foundation/** ADRs and standards docs.
- docs/ADMIN.md and docs/architecture/foundation/** and docs/context/** are
left untouched per instructions.
- Updated the one dangling docs/Project-Editor.md reference in
admin-auth.service.ts to point at docs/BACKEND.md.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 12:28:41 +04:00
## Doc index
- **[ARCHITECTURE.md ](ARCHITECTURE.md )** — layered architecture, container/facade/service pattern, bootstrap/theme/widget engines, links to the enforced ADRs.
2026-07-19 15:28:35 +04:00
- **[backend/BACKEND-INTEGRATION.md ](backend/BACKEND-INTEGRATION.md )** — the single canonical backend/API spec: architecture, auth, security, bootstrap, conventions, every endpoint (CURRENT/PLANNED/FUTURE), DTOs, state machines, validation, media, errors, localization, caching. Start here if you're a backend engineer picking up this project.
docs: consolidate scattered docs into canonical set
Replace ~35 organically-grown docs (docs/platform/*, docs/backend-platform/*,
one-off sprint reports, Search.md, Diagnostics.md, Content-Management.md,
Backend-Handoff-Sprint16.md, docs/superpowers/*, docs/Project-Editor.md,
untracked docs/total.md) with the six canonical docs declared in
.claude/CLAUDE.md: PROJECT.md, ARCHITECTURE.md, BACKEND.md, FRONTEND.md,
BOOTSTRAP.md, EDITOR.md, plus a new PROJECT-STRUCTURE.md.
- BACKEND.md is a punch list per domain (auth, bootstrap draft/publish,
static pages, categories, products, orders, dashboard metrics, activity,
translations, search, product engagement) plus a Known reliability issues
section on the prod 502/504 root cause.
- ARCHITECTURE.md links to (does not duplicate) the enforced
docs/architecture/foundation/** ADRs and standards docs.
- docs/ADMIN.md and docs/architecture/foundation/** and docs/context/** are
left untouched per instructions.
- Updated the one dangling docs/Project-Editor.md reference in
admin-auth.service.ts to point at docs/BACKEND.md.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 12:28:41 +04:00
- **[FRONTEND.md ](FRONTEND.md )** — app structure, routing, i18n, theming, state management (signals/facades, no NgRx), dynamic rendering.
- **[EDITOR.md ](EDITOR.md )** — the Project Editor: every section, the save/publish/draft/reset model, and the field-description/dropdown UX.
docs(static-pages): backoffice redirect + StaticPages.md
Milestone 7 of the Static Pages Module sprint.
- app.routes.ts: /backoffice/static-pages now redirects to /edit/static-pages
(absolute redirectTo) instead of rendering BackofficeComingSoonPageComponent
- Static Pages is a first-class Project Editor module, not a second CRUD
surface over the same bootstrap.staticPages data.
- New docs/StaticPages.md: full field reference (General/Localization/SEO/
Media/Publishing), the enabled+status storefront-gating story and its
backward-compat default (existing/legacy data normalizes to
enabled+published so nothing gets silently un-published; only new pages
default to draft), CRUD/search/filter/bulk, the "mutate from the
unfiltered list" implementation note, rich-text/HTML-mode contract
(pointer to EDITOR.md), nav integration, and the export/import/draft/
publish compatibility statement.
- docs/EDITOR.md: Static Pages row in the Sections table (was previously
absent - the row lived implicitly in Footer's description), HTML editor
section updated with the Sprint X+2 toolbar additions + validation
contract, redirect noted near the route line. `docs/Project-Editor.md`
(named in the original brief) no longer exists - superseded by EDITOR.md
per that file's own header; documentation went there + the new file
instead.
- docs/PROJECT.md: doc index entry for StaticPages.md.
Gate: tsc --noEmit, npm test (57/57), arch:check, build all green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 10:24:18 +04:00
- **[StaticPages.md ](StaticPages.md )** — the Static Pages module: full field reference, per-page draft/publish gating, CRUD/search/filter/bulk, rich text, device preview, nav integration (Sprint X+2).
docs: consolidate scattered docs into canonical set
Replace ~35 organically-grown docs (docs/platform/*, docs/backend-platform/*,
one-off sprint reports, Search.md, Diagnostics.md, Content-Management.md,
Backend-Handoff-Sprint16.md, docs/superpowers/*, docs/Project-Editor.md,
untracked docs/total.md) with the six canonical docs declared in
.claude/CLAUDE.md: PROJECT.md, ARCHITECTURE.md, BACKEND.md, FRONTEND.md,
BOOTSTRAP.md, EDITOR.md, plus a new PROJECT-STRUCTURE.md.
- BACKEND.md is a punch list per domain (auth, bootstrap draft/publish,
static pages, categories, products, orders, dashboard metrics, activity,
translations, search, product engagement) plus a Known reliability issues
section on the prod 502/504 root cause.
- ARCHITECTURE.md links to (does not duplicate) the enforced
docs/architecture/foundation/** ADRs and standards docs.
- docs/ADMIN.md and docs/architecture/foundation/** and docs/context/** are
left untouched per instructions.
- Updated the one dangling docs/Project-Editor.md reference in
admin-auth.service.ts to point at docs/BACKEND.md.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 12:28:41 +04:00
- **[PROJECT-STRUCTURE.md ](PROJECT-STRUCTURE.md )** — folder-by-folder tour of `src/app/**` with a worked "add a new feature" example (admin dashboard).
- **[ADMIN.md ](ADMIN.md )** — Sprint 19 admin dashboard: routing, architecture, data sources, known gaps.
docs: sync documentation after perf/a11y/release-candidate work
- PROJECT.md: Current Status updated (perf/a11y/RC walkthrough all
done, new report docs added to index).
- FRONTEND-ROADMAP.md: RC PERF-01, RC A11Y-01, and Release Candidate
walkthrough entries added; known-open-items list updated (2 new
flags from RC walkthrough, primeng removal blocker, large chunks,
backend-ready sprint explicitly deferred pending a real API contract).
- KNOWN-ISSUES.md: corrected item 6 (payment modal focus-trap
assumption was wrong, now actually fixed); added items 9-12 (brand
contrast failures, Contacts content gap, WYSIWYG editor mislabeled,
primeng removal blocker); added 2 Fixed entries for this cycle's
P0s (query-param routing, Categories CRUD).
- Graphify graph regenerated (graphify-out/, cache only, not tracked).
- Obsidian: skipped, no running Obsidian instance in this session.
- No architecture change this cycle (perf/a11y/bug fixes only) — no
new ADR.
- No application code touched.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-24 10:51:05 +04:00
- **[FRONTEND-ROADMAP.md ](FRONTEND-ROADMAP.md )** — status snapshot refreshed from recent commits; sprint progress, known open items.
- **[KNOWN-ISSUES.md ](KNOWN-ISSUES.md )** — running list of open/fixed bugs found during manual verification.
- **[PERFORMANCE_REPORT.md ](PERFORMANCE_REPORT.md )** — RC PERF-01: bundle/reactivity/asset audit and fixes.
- **[ACCESSIBILITY_REPORT.md ](ACCESSIBILITY_REPORT.md )** — RC A11Y-01: WCAG 2.1 AA audit and fixes across all 3 surfaces.
- **[RELEASE_REPORT.md ](RELEASE_REPORT.md )** — live browser release-candidate walkthrough, P0/P1 findings and fixes.
docs: consolidate scattered docs into canonical set
Replace ~35 organically-grown docs (docs/platform/*, docs/backend-platform/*,
one-off sprint reports, Search.md, Diagnostics.md, Content-Management.md,
Backend-Handoff-Sprint16.md, docs/superpowers/*, docs/Project-Editor.md,
untracked docs/total.md) with the six canonical docs declared in
.claude/CLAUDE.md: PROJECT.md, ARCHITECTURE.md, BACKEND.md, FRONTEND.md,
BOOTSTRAP.md, EDITOR.md, plus a new PROJECT-STRUCTURE.md.
- BACKEND.md is a punch list per domain (auth, bootstrap draft/publish,
static pages, categories, products, orders, dashboard metrics, activity,
translations, search, product engagement) plus a Known reliability issues
section on the prod 502/504 root cause.
- ARCHITECTURE.md links to (does not duplicate) the enforced
docs/architecture/foundation/** ADRs and standards docs.
- docs/ADMIN.md and docs/architecture/foundation/** and docs/context/** are
left untouched per instructions.
- Updated the one dangling docs/Project-Editor.md reference in
admin-auth.service.ts to point at docs/BACKEND.md.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 12:28:41 +04:00
- `docs/architecture/foundation/**` — the enforced ADRs (ADR-001…ADR-010) and standards docs (Coding-Standards, Naming-Conventions, Dependency-Rules, Folder-Blueprint, Import-Boundary-Matrix, State-Management-Standards, Configuration-Standards, Component-Standards, Service-Standards). These are governance, not narrative — read them directly; `ARCHITECTURE.md` only links to them.
- `docs/context/**` — Barry Cache's own source-backed memory system. Infrastructure, not project documentation; do not edit by hand.
## How to run it
From `package.json` :
```bash
npm install
npm run start # ng serve
npm run start:dexar # ng serve --configuration=development --port 4200
npm run build # ng build
npm run build:dexar # ng build --configuration=production
npm run watch # ng build --watch --configuration development
npm run arch:check # boundary + circular-dependency checks (tools/architecture/check-boundaries.mjs, madge)
```
Barry Cache (repo memory, optional but recommended before/after non-trivial work):
```bash
npm run barry -- resume --task "<task>"
npm run barry -- validate
```
See root `CLAUDE.md` for the full Barry Cache workflow and memory policy.
docs: sync documentation after perf/a11y/release-candidate work
- PROJECT.md: Current Status updated (perf/a11y/RC walkthrough all
done, new report docs added to index).
- FRONTEND-ROADMAP.md: RC PERF-01, RC A11Y-01, and Release Candidate
walkthrough entries added; known-open-items list updated (2 new
flags from RC walkthrough, primeng removal blocker, large chunks,
backend-ready sprint explicitly deferred pending a real API contract).
- KNOWN-ISSUES.md: corrected item 6 (payment modal focus-trap
assumption was wrong, now actually fixed); added items 9-12 (brand
contrast failures, Contacts content gap, WYSIWYG editor mislabeled,
primeng removal blocker); added 2 Fixed entries for this cycle's
P0s (query-param routing, Categories CRUD).
- Graphify graph regenerated (graphify-out/, cache only, not tracked).
- Obsidian: skipped, no running Obsidian instance in this session.
- No architecture change this cycle (perf/a11y/bug fixes only) — no
new ADR.
- No application code touched.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-24 10:51:05 +04:00
## Current Status
- **Frontend: 96%**
- **Backend:** in progress — still mostly PLANNED/mock gateways, no confirmed live backend contract (see `docs/backend/BACKEND-INTEGRATION.md` )
- **Storefront polish:** done (RC-Visual-02, RC-Premium-01, RC STORE-01)
- **Performance audit:** done — see [PERFORMANCE_REPORT.md ](PERFORMANCE_REPORT.md ) (initial bundle − 24%)
- **Angular v22:** pending
- **Accessibility audit:** done — see [ACCESSIBILITY_REPORT.md ](ACCESSIBILITY_REPORT.md ) (WCAG 2.1 AA, storefront/builder/backoffice)
- **Release-candidate walkthrough:** done — see [RELEASE_REPORT.md ](RELEASE_REPORT.md ) (2 P0s + 6 P1s found and fixed via live browser walkthrough)
- **First client demo:** upcoming
Detail behind each line: sprint-by-sprint history in [FRONTEND-ROADMAP.md ](FRONTEND-ROADMAP.md ) / `docs/SPRINT-PLAN.md` (Sprints 20-30, all shipped except Sprint 30's `git push` , pending explicit go-ahead), open defects in [KNOWN-ISSUES.md ](KNOWN-ISSUES.md ), backend gap list in `docs/backend/BACKEND-INTEGRATION.md` and `docs/backend/REMAINING-BACKEND-WORK.md` .
Draft/publish for the Project Editor is still **frontend-only ** (localStorage), with no backend persistence — the single largest backend gap, see `docs/backend/BACKEND-INTEGRATION.md#67-builder--bootstrap-draftpublishvalidate-planned-highest-priority` .
docs: consolidate scattered docs into canonical set
Replace ~35 organically-grown docs (docs/platform/*, docs/backend-platform/*,
one-off sprint reports, Search.md, Diagnostics.md, Content-Management.md,
Backend-Handoff-Sprint16.md, docs/superpowers/*, docs/Project-Editor.md,
untracked docs/total.md) with the six canonical docs declared in
.claude/CLAUDE.md: PROJECT.md, ARCHITECTURE.md, BACKEND.md, FRONTEND.md,
BOOTSTRAP.md, EDITOR.md, plus a new PROJECT-STRUCTURE.md.
- BACKEND.md is a punch list per domain (auth, bootstrap draft/publish,
static pages, categories, products, orders, dashboard metrics, activity,
translations, search, product engagement) plus a Known reliability issues
section on the prod 502/504 root cause.
- ARCHITECTURE.md links to (does not duplicate) the enforced
docs/architecture/foundation/** ADRs and standards docs.
- docs/ADMIN.md and docs/architecture/foundation/** and docs/context/** are
left untouched per instructions.
- Updated the one dangling docs/Project-Editor.md reference in
admin-auth.service.ts to point at docs/BACKEND.md.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 12:28:41 +04:00
docs: sync documentation after perf/a11y/release-candidate work
- PROJECT.md: Current Status updated (perf/a11y/RC walkthrough all
done, new report docs added to index).
- FRONTEND-ROADMAP.md: RC PERF-01, RC A11Y-01, and Release Candidate
walkthrough entries added; known-open-items list updated (2 new
flags from RC walkthrough, primeng removal blocker, large chunks,
backend-ready sprint explicitly deferred pending a real API contract).
- KNOWN-ISSUES.md: corrected item 6 (payment modal focus-trap
assumption was wrong, now actually fixed); added items 9-12 (brand
contrast failures, Contacts content gap, WYSIWYG editor mislabeled,
primeng removal blocker); added 2 Fixed entries for this cycle's
P0s (query-param routing, Categories CRUD).
- Graphify graph regenerated (graphify-out/, cache only, not tracked).
- Obsidian: skipped, no running Obsidian instance in this session.
- No architecture change this cycle (perf/a11y/bug fixes only) — no
new ADR.
- No application code touched.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-24 10:51:05 +04:00
This documentation set (`docs/PROJECT.md` , `ARCHITECTURE.md` , `backend/BACKEND-INTEGRATION.md` , `FRONTEND.md` , `EDITOR.md` , `PROJECT-STRUCTURE.md` ) replaces ~35 previously scattered files under `docs/platform/` , `docs/backend-platform/` , and various one-off sprint reports, which have been consolidated and removed.