TorbatYar/frontend/docs/experience-validation-report.md
Mortezakoohjani 0eec9f729b feat(experience): deploy Experience frontend FE-11.0-11.5 portal
Commit completed Torbat Pages admin frontend module, BFF proxy, routes, and validation artifacts for official platform deploy.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 21:01:50 +03:30

2.4 KiB
Raw Permalink Blame History

Experience Frontend Validation Report (Quality Report)

Date: 2026-07-27
Scope: FE-11.0 FE-11.5 (STOP)
Backend: experience-service v0.11.10.0 :8008

Automated checks

Check Command Result
Route thinness npm run validate:experience-routes Pass — app/experience/**/page.tsx ≤25 lines
Nav filter node modules/experience/__tests__/nav-filter.mjs Pass
Accessibility smoke node modules/experience/__tests__/a11y-smoke.mjs Pass — ARIA roles/labels on DS primitives
Performance smoke node modules/experience/__tests__/perf-smoke.mjs Pass — ≥49 routes; API via BFF; no fake JSON
Architecture boundaries npm run validate:architecture Pass
TypeScript npm run typecheck Pass

Full suite: npm run validate:experience

Manual test plan

  1. Hub & auth: /experience/hub → login → /experience dashboard loads
  2. Workspace switcher: select workspace persists after refresh (localStorage)
  3. CRUD: create workspace → site → page; edits include version
  4. Builder: /experience/pages/{id}/builder — placements, reorder, media drawer, undo/redo
  5. Forms: form builder saves form_schema_json; invalid JSON rejected
  6. Publishing: publish-targets provisional publish_id; preview /experience/preview/page/{id}
  7. Analytics: refresh snapshots → POST /api/v1/analytics-snapshots/refresh
  8. Embed: widget snippet with provisional publish_id
  9. Design system: /experience/design-system — RTL/LTR toggle, brand color, charts/map/timeline/kanban
  10. BFF: browser calls /api/experience/... not direct :8008

Seed data

cd backend/services/experience
set AUTH_REQUIRED=false
set EXPERIENCE_SEED_TENANT_ID=<tenant-uuid>
python scripts/seed_experience.py

Known gaps (by design — stop at FE-11.5)

  • No official Publish Target Registry — provisional IDs only
  • No payment, booking, QR, short link, marketplace UI
  • Published actions UI is catalog + local toggle only
  • Fine-grained experience.* RBAC deferred to identity integration

Artifacts

  • Module: frontend/modules/experience/
  • Routes: frontend/app/experience/ (50 pages)
  • BFF: frontend/app/api/experience/[...path]/route.ts
  • Snapshot: docs/service-snapshots/experience-frontend.yaml
  • Handover: docs/phase-handover/phase-experience-fe-11-5.md