Audited every *.md in docs/ and root. Merged five overlapping backend docs (BACKEND_INTEGRATION.md + AUTHENTICATION.md + ERROR_CONTRACT.md + MAINTENANCE_MODE.md + the already-archived BACKEND_API.md/ BACKEND_API_REMAINING_WORK.md) into one canonical docs/BACKEND.md (4775 lines, 10 numbered sections) - deleted the four standalone files outright now that their content is fully inlined. Archived (not deleted - real historical value): ADMIN.md (Sprint 19-28 build log, sprint-report-shaped, not a living reference) and FRONTEND-ROADMAP.md (despite its name, a shipped-history changelog with detail no other doc has - not a forward roadmap, so keeping it in root alongside NEXT_PHASE.md was exactly the "10 roadmaps" confusion being cleaned up). Deleted outright (zero value): SPRINTS.md - a leftover copy-pasted sprint-kickoff prompt saved as a file, not documentation. Rewrote docs/PROJECT_STATUS.md with completion-percentage estimates per area (frontend/backend/UI/admin/storefront) and an explicit first-customer-readiness call. Rewrote docs/NEXT_PHASE.md to the strict 5-phase structure (backend integration -> production testing -> performance -> monitoring -> v2 ideas), pointing to PRODUCT_BACKLOG .md/FUTURE_FEATURES.md for phase 5 detail instead of duplicating it. Rewrote root README.md - was stale (referenced deleted pages/info, pages/legal folders from a prior RC pass), now covers architecture, frontend/backend status, how to run, mock<->API switch mechanism (useMockData in environment.ts), current folder structure, and a documentation map. Updated docs/PROJECT_INDEX.md (the stated entry point) to link only the surviving doc set - every remaining document is reachable from it. Fixed every broken/stale cross-reference to the deleted/renamed backend docs across ARCHITECTURE.md, EDITOR.md, FRONTEND.md, PROJECT-STRUCTURE.md, StaticPages.md, KNOWN-ISSUES.md (10 individual link fixes, verified by repo-wide grep before and after). Left CHANGELOG.md's two historical entries untouched - changelogs are append-only history, not live navigation, editing past entries would misrepresent what was true at the time. Not touched (explicitly out of scope): docs/architecture/foundation/** (enforced ADRs/governance, permanent not sprint-shaped), docs/context/** (Barry Cache infrastructure, "do not edit by hand" per CLAUDE.md), .claude/worktrees/** (separate git worktrees containing an unrelated project's docs, not this repo's documentation). docs/ root: 22 files -> 16. Plus 5 in docs/archive/ (was 3).
4.5 KiB
Project Status
Date: 2026-07-26. Branch: B2B. Honest snapshot, verified against source — not aspirational.
Completion estimates
Frontend-engineering estimates only (not effort/story-point estimates) — how much of the intended surface is built and working against mock data.
| Area | Completion | Basis |
|---|---|---|
| Frontend (overall) | ~95% | TODO.md has zero release blockers; one known minor bug open (KNOWN-ISSUES.md); several items deliberately deferred as product decisions, not gaps. |
| Backend | ~10% | Only Categories has a real HTTP implementation. Every other domain is a working mock. The specification is 100% done (BACKEND.md); the implementation is not started. |
| UI (visual/component layer) | ~95% | No native browser dialogs, no known broken-image paths, no raw dev jargon in default admin views, no apology-toned empty states, consistent shared primitives across all three surfaces. |
| Admin (backoffice) | ~85% | UI built and working for every domain (dashboard, products, categories, orders, customers, transactions, users, moderation, media, monitoring, analytics) against mock data. Missing: role enforcement (model exists, nothing checks it), real data everywhere except Categories. |
| Storefront | ~95% | Feature-complete for the audited surfaces (home, catalog, product detail, cart, checkout UI, wishlist/compare, search, static/CMS pages). i18n complete (en/ru/hy near-parity). Runs against mock data. |
Ready for first customer?
Yes, for a demo. No, for production. The storefront and builder demo end-to-end with no visible rough edges. Production readiness is blocked entirely on the backend not existing yet — see BACKEND.md.
Known limitations
- One real frontend bug open: Ed25519 admin-auth error codes
session-expired/invalid-signatureare currently unreachable (seeKNOWN-ISSUES.md). - Admin role model exists in code but isn't enforced by any route guard or UI gate — anyone who passes admin auth has full access regardless of assigned role.
- No automated test suite exists for the components touched across recent RC passes (none existed before either).
- Two large lazy chunks (
project-editor320 kB,catalog-container126 kB) — not release-blocking (FUTURE_FEATURES.md). - 53 local
B2Bcommits not yet pushed toorigin(verified 2026-07-26) — pending explicit go-ahead, a process step not a code blocker. - Several product-decision items (dark mode, brand-color contrast, Contacts page content, advanced analytics, additional payment providers) documented but not scheduled —
PRODUCT_BACKLOG.md.
Backend waiting items
Everything in BACKEND.md §9 (Backend Checklist) — 34 items across 6 phases, from foundation (auth, tenant resolution, bootstrap, error envelope) through hardening (rate limiting, CSP, audit logging, maintenance mode). The single largest gap: the Project Editor (builder) has no save/publish HTTP call at all today — drafts live in-memory and in localStorage only.
Authentication status
Storefront: live. Telegram/QR session login is the only way customers authenticate today, and it works end-to-end. Admin: dormant. Ed25519 challenge/response admin auth is fully built client-side (keypair service, signing flow, guard, interceptor) but the interceptor isn't registered in app.config.ts and the guard isn't attached to any route — it doesn't run in production today. No token refresh exists for either flow. Full contract: BACKEND.md §4.
Builder status
Fully functional editor of in-memory/localStorage draft state (homepage sections, widgets, languages, navigation, footer, branding, theme, static pages). "Publish" today only promotes the local draft signal — nothing reaches a backend.
Documentation status
Consolidated in this closeout pass. One canonical backend doc (BACKEND.md, merges everything that used to be five overlapping files). One roadmap (NEXT_PHASE.md). One status doc (this file). Historical sprint/audit reports live in docs/archive/, not in root docs/. PROJECT_INDEX.md is the entry point and every remaining doc is reachable from it. Not fully swept: a handful of low-traffic architecture docs (docs/architecture/foundation/adr/**, FRONTEND.md, EDITOR.md, ARCHITECTURE.md, PROJECT-STRUCTURE.md, StaticPages.md) still contain a few old filename references from before this consolidation — historical-context docs, not the navigation entry point, left as a known gap rather than swept blindly.