Master entry-point doc (Seller-Management.md) consolidating everything built across the prior 4 commits (ADR-011, domain models, Phase 1 UI, UX review) plus the full roadmap, with every section explicitly tagged Implemented / Planned / Future so nothing reads as built that isn't. Covers: Overview, Architecture & Hierarchy, Marketplace, Seller, Roles & Permissions, Feature Flags, Bootstrap, Future API, Seller Storefronts, Seller Branding, Seller Ownership, Checkout Modes, Unified/Split Orders, Migration & Compatibility (why existing marketplaces stay unchanged, with the concrete verification evidence for each claim), Developer Notes, Builder Notes, Backend Notes. Explicitly marked Future (not designed, no shape decided) rather than documented as if real: the API surface, seller storefronts, checkout modes, and the unified-vs-split-order decision - none of these have any code or ADR behind them yet, unlike the typed models/feature flag/ Phase 1 UI which are genuinely Implemented. Added a rollout-stage diagram (types+flag -> Phase 1 UI -> backend decisions -> CRUD -> branding/storefronts -> checkout modes) showing work stops after "Phase 1 UI" today. Linked as the entry point from docs/architecture/foundation/README.md and docs/PROJECT_INDEX.md, ahead of ADR-011/diagrams/domain-models/UX-review which stay as detail references. No code changed.
7.5 KiB
Marketplace Platform — Documentation Index
This is the entry point. Read this first — it links to everything else and tells you what's actually true right now versus what's historical.
What this is
A configuration-driven, multi-tenant SaaS marketplace platform (Angular 21.1, standalone components). One frontend codebase serves unlimited tenants ("marketplaces"). Tenant identity, theme, navigation, page/section/widget composition, and static content all resolve from a per-tenant bootstrap.json fetched at runtime — no tenant-specific code paths exist in the frontend. New tenants are onboarded by domain + config + backend data, never by forking the frontend.
Every tenant has three surfaces on this one codebase:
- Website — the public storefront (catalog, product pages, cart, static pages).
- Builder (Project Editor,
/edit/**) — an in-app editor that edits the tenant'sBootstrapConfig. - Backoffice (Admin,
/:lang/backoffice/**) — the admin area: products, categories (live-wired to a real gateway), orders, transactions, users, monitoring, analytics, media.
System overview
- Architecture:
Component (container) → Facade → Domain Service → Repository/Provider (DI token, swappable mock↔API) → Mock | API. Enforced bynpm run arch:check(import boundaries + circular deps), not just convention. Full detail: ARCHITECTURE.md, governance docs atdocs/architecture/foundation/**(11 ADRs + 9 standards docs). - Seller Management (optional, not built): typed foundation + Phase 1 Backoffice placeholder UI only —
modules.sellerManagement.enabledgate onBootstrapConfig, disabled by default, zero effect on existing marketplaces. Full capability doc:docs/architecture/foundation/Seller-Management.md. - State: Signals-based facades everywhere, no NgRx (ADR-007).
- Rendering: Bootstrap JSON → Section Engine → Page Renderer → Widget Host → registered widget component (ADR-005). 100% lazy-loaded routes.
- Theming: CSS custom properties per tenant, 3 theme stylesheets, never hardcoded hex in a component (ADR-008). Design system spec:
DESIGN.md(root of repo). - i18n: 3 locales (en/ru/hy), compile-time-enforced key parity across locale files.
- Backend: mostly PLANNED (mock gateways behind swappable provider tokens) — see BACKEND.md, the single canonical backend spec (architecture, bootstrap, auth, JWT, Ed25519, permissions, maintenance mode, error model, every endpoint, DTOs, uploads, pagination/filters/sorting, publish workflow, media, builder, implementation checklist). Categories is the one domain fully wired to a real HTTP gateway; everything else is local/mock.
Doc index (living documents)
Read these directly — they're the current source of truth, not one-off reports:
| Doc | What it covers |
|---|---|
| ARCHITECTURE.md | Layered architecture, container/facade/service pattern, bootstrap/theme/widget engines, links to the enforced ADRs |
| BACKEND.md | The one canonical backend spec — auth, JWT, Ed25519, permissions, maintenance mode, every endpoint, DTOs, uploads, error model, migration guide, checklist |
| FRONTEND.md | App structure, routing, i18n, theming, state management, dynamic rendering |
| EDITOR.md | The Project Editor: every section, save/publish/draft/reset model |
| StaticPages.md | The Static Pages CMS module (the thing that actually serves About/Contacts/etc. today) |
| PROJECT-STRUCTURE.md | Folder-by-folder tour of src/app/** with a worked feature-add example |
| PROJECT_STATUS.md | Current status — completion %, readiness for demo/production/backend, honest limitations |
| NEXT_PHASE.md | The one roadmap — backend integration → testing → performance → monitoring → v2 ideas |
| TODO.md | Release blockers only — currently empty |
| KNOWN-ISSUES.md | Real, reproducible, currently-open frontend bugs only |
| PRODUCT_BACKLOG.md | Items needing a client/business decision (dark mode, brand colors, page content, etc.) |
| FUTURE_FEATURES.md | Nice-to-have, non-blocking future work (Angular 22, bundle splitting, etc.) |
| ANGULAR22_PLAN.md | Angular 22 upgrade feasibility (research only, not yet executed — tracked in FUTURE_FEATURES.md) |
| SALES-GUIDE.md | Plain-language guide for the sales team — what to demo, what's not live yet |
../DESIGN.md |
Visual design system: colors, typography, elevation, component specs |
../PRODUCT.md |
Product positioning, users, brand personality, anti-references |
../CHANGELOG.md |
Keep-a-Changelog-format history of shipped features |
docs/architecture/foundation/** |
Enforced ADRs (ADR-001…ADR-011) and standards docs — governance, read directly |
docs/context/** |
Barry Cache's own source-backed memory system — infrastructure, not project documentation, do not edit by hand |
docs/archive/** |
Superseded docs, kept for history only — do not implement against these |
One topic, one place: routing lives in FRONTEND.md, not repeated here. Backend contract lives entirely in BACKEND.md — nowhere else. Design tokens live in DESIGN.md, not repeated elsewhere.
What's still open
TODO.md — release blockers only. PRODUCT_BACKLOG.md and FUTURE_FEATURES.md hold everything else that isn't a blocker.
Historical reports
19 one-off audit/sprint/review reports were archived, then deleted once every open finding worth keeping was confirmed merged into KNOWN-ISSUES.md/TODO.md. A 20th (FRONTEND-ROADMAP.md, despite its name a shipped-history changelog, not a forward roadmap) was archived to docs/archive/ on 2026-07-26 for the same reason. Full original text recoverable via git log --diff-filter=D -- docs/archive or docs/archive/FRONTEND-ROADMAP.md itself.
How to run it
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 arch:check # boundary + circular-dependency checks
Barry Cache (repo memory, optional but recommended before/after non-trivial work):
npm run barry -- resume --task "<task>"
npm run barry -- validate
See root CLAUDE.md for the full Barry Cache workflow and memory policy.
Current status
Full detail (completion %, per-area readiness, known limitations): PROJECT_STATUS.md. Short version:
- Frontend: Release Candidate, feature-complete.
TODO.mdhas no blockers. - Backend: not implemented, fully specified. Categories is the one domain wired to a real gateway; everything else is mock. See BACKEND.md.
- Documentation: consolidated (Final Documentation Consolidation pass, 2026-07-26) — one canonical backend doc, one roadmap, one status doc, historical/sprint docs moved to
docs/archive/. - First client demo: ready, with one caveat — admin role enforcement doesn't exist yet, see
PROJECT_STATUS.md.
Draft/publish for the Project Editor is still frontend-only (localStorage), no backend persistence — the single largest backend gap, see BACKEND.md §1 (Bootstrap: Draft vs Published) and §8 (Real Backend Implementation Guide).