Files
marketplaces/docs/PROJECT_INDEX.md
sdarbinyan 3dafd872e4 docs: Seller Management capability documentation - Implemented/Planned/Future
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.
2026-07-26 22:13:15 +04:00

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's BootstrapConfig.
  • 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 by npm run arch:check (import boundaries + circular deps), not just convention. Full detail: ARCHITECTURE.md, governance docs at docs/architecture/foundation/** (11 ADRs + 9 standards docs).
  • Seller Management (optional, not built): typed foundation + Phase 1 Backoffice placeholder UI only — modules.sellerManagement.enabled gate on BootstrapConfig, 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.md has 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).