TorbatYar/docs/experience-roadmap.md
Mortezakoohjani 203671a7bf feat(experience): ship Experience Platform phases 11.0-11.10
Add the experience service with sites through analytics/AI hooks, migrations through 0011, and phase docs/manifests marking the track complete.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 11:43:10 +03:30

192 lines
9.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Experience Platform — Roadmap
> Registration document. **No implementation in this phase.**
> Framework: [ai-framework/](ai-framework/README.md) · ADR: [ADR-016](architecture/adr/ADR-016.md) · Manifests: [phase-manifest.yaml](ai-framework/phase-manifest.yaml), [service-manifest.yaml](ai-framework/service-manifest.yaml)
| Field | Value |
| --- | --- |
| Service | `experience` |
| Commercial Product | Torbat Pages |
| Database | `experience_db` |
| Permission Prefix | `experience.*` |
| API Port (planned) | 8008 |
| Phases | 11.0 11.10 |
| Status | Phase 11.10 complete — Experience track 11.011.10 closed |
## Vision
Deliver an independent, multi-tenant **Enterprise Experience Platform** inside TorbatYar so every current and future service can publish websites, landings, mini sites, menus, catalogs, profiles, forms, and campaign surfaces without owning page/theme/template engines — and without duplicating business logic or sharing databases.
## Business Scope
In scope (over Phases 11.011.10):
- Website Builder and Landing Pages
- Mini Sites and Business Profile Pages
- Restaurant Pages, Digital Menus, Digital Catalogs
- Link In Bio, Event, Campaign, Portfolio Pages
- Personal and Corporate Websites
- Forms, Surveys, Appointment Pages
- Public Profile, QR, SEO, Blog, Media, Knowledge Pages
- Versioned components, replaceable themes, dynamic layouts
- Template-based authoring; localization; RTL and LTR
- SEO, Mobile First, PWA readiness
- Optional AI content generation hooks
- Analytics shells; feature toggles; bundle licensing
- Widgets and consumer integration contracts
- Custom domain binding refs (DNS ownership remains platform edge / Core patterns)
## Architecture Scope
| Rule | Reference |
| --- | --- |
| Independent service + `experience_db` | [ADR-016](architecture/adr/ADR-016.md), [ADR-001](architecture/adr/ADR-001.md) |
| Layering API → Service → Repository → Model | [service-architecture.md](architecture/service-architecture.md) |
| Tenant-aware business tables | [ADR-003](architecture/adr/ADR-003.md) |
| Outbox-ready events `experience.*` | [ADR-006](architecture/adr/ADR-006.md) |
| White-label / branding alignment | [ADR-008](architecture/adr/ADR-008.md) |
| Messaging via Communication only | [ADR-012](architecture/adr/ADR-012.md) |
| Loyalty / CRM / vertical refs only | [ADR-011](architecture/adr/ADR-011.md) |
| AI optional / independent | [ai-architecture.md](architecture/ai-architecture.md) |
| FE/BE separation for builders & public shells | [ADR-002](architecture/adr/ADR-002.md) |
| Implementation via AI Framework | [ai-framework/](ai-framework/README.md) |
## Platform Principles
| Principle | Meaning |
| --- | --- |
| Every Page is a Resource | First-class tenant-scoped resource with identity, lifecycle, permissions |
| Every Component is Versioned | Immutable versions; publish pins versions |
| Every Theme is Replaceable | Themes swap without rewriting page trees |
| Every Layout is Dynamic | Layout composition is data-driven |
| Template Based | New experiences start from templates |
| Localization | Multi-locale content and metadata |
| RTL and LTR | Directionality first-class |
| SEO | Canonical/meta/sitemap/robots shells |
| Mobile First | Responsive defaults; mobile contracts |
| PWA | Manifest/service-worker readiness hooks |
| AI generation | Optional; core works offline |
| Analytics | Event/metrics shells |
| Feature Toggles | Capability flags per tenant/bundle |
| Bundle Licensing | Commercial packs gated via entitlement |
## Supported Consumers
Hospitality · Marketplace · Sports Center · CRM · Accounting · Loyalty · Communication · Academy · Clinic · Hotel · Tourism · Future Services
## Supported Bundles
Mini Site · Business Website · Landing Builder · Digital Menu · Digital Catalog · Portfolio · Blog · Appointment · Campaign · QR Landing · Bio Link · Custom Domain · SEO · Analytics · AI Content · Forms · Widgets
## Module Map
| Module | Responsibility | Introduced |
| --- | --- | --- |
| Sites | Site aggregate / host binding refs | 11.1 |
| Pages | Page resources and lifecycle | 11.1 |
| Page Types | Typed page kinds (landing, menu, bio, …) | 11.1 |
| Components | Versioned component definitions | 11.2 |
| Component Versions | Immutable component revisions | 11.2 |
| Themes | Replaceable theme packs | 11.3 |
| Layouts | Dynamic layout definitions | 11.3 |
| Templates | Template catalog and instantiation | 11.4 |
| Locales | Localization and directionality | 11.5 |
| Media Refs | Storage file references (no binaries) | 11.5 |
| Forms | Form definitions and submissions shells | 11.6 |
| Surveys | Survey definitions | 11.6 |
| Appointments | Appointment page booking shells (refs) | 11.6 |
| Publishing | Publish/unpublish workflows | 11.7 |
| Domains | Custom domain binding refs | 11.7 |
| SEO | SEO metadata, sitemap/robots shells | 11.7 |
| PWA | PWA manifest readiness | 11.7 |
| Bundles | Capability bundles / licensing | 11.8 |
| Feature Toggles | Experience feature flags | 11.8 |
| Widgets | Embeddable widget contracts | 11.9 |
| Consumer Connectors | Vertical integration contracts | 11.9 |
| Analytics | Analytics shells | 11.10 |
| AI Hooks | Optional AI content contracts | 11.10 |
| Audit / Config / Health | Foundation shells | 11.0 |
Canonical inventory: [module-registry.md](module-registry.md#experience).
## Integration Map
```
Verticals (Hospitality / Marketplace / Sports / CRM / Clinic / Hotel / Tourism / …)
│ API / Events (entity refs only — no shared DB)
Experience Platform ──API─────────▶ Core (entitlement, tenant, branding)
Experience Platform ──API─────────▶ Storage (media refs)
Experience Platform ──API/Events──▶ CRM (contact/org refs)
Experience Platform ──API/Events──▶ Loyalty (optional)
Experience Platform ──API/Events──▶ Communication (notify / OTP forms)
Experience Platform ──API/Events──▶ Hospitality / Marketplace / Sports / …
Experience Platform ──API/Events──▶ Delivery (optional campaign logistics refs)
Experience Platform ──API─────────▶ AI Platform (optional content assist)
Experience Platform ──API/Events──▶ Automation (optional triggers)
```
Forbidden: cross-DB queries, embedding SMS providers inside Experience, owning Restaurant menu/item catalogs as source of truth, owning CRM contacts, storing media binaries, creating Accounting journals.
## Disambiguation
| Term | Owner |
| --- | --- |
| Tenant branding / white-label defaults | Core (+ ADR-008) |
| Page / site / theme / template resources | Experience Platform (`experience`) |
| Menu item catalog / POS menu | Hospitality / Restaurant services |
| Product catalog | Marketplace / Ecommerce |
| Historical `website_builder` scaffold | Prefer Experience for new work |
## Phase Map
| Phase | ID | Name | Status |
| --- | --- | --- | --- |
| Reg | `experience-reg` | Platform Registration | Complete |
| 11.0 | `experience-11.0` | Foundation | Complete |
| 11.1 | `experience-11.1` | Sites & Page Resources | Complete |
| 11.2 | `experience-11.2` | Component Library & Versioning | Complete |
| 11.3 | `experience-11.3` | Theme & Layout Engine | Complete |
| 11.4 | `experience-11.4` | Template System | Complete |
| 11.5 | `experience-11.5` | Localization, RTL/LTR & Media | Complete |
| 11.6 | `experience-11.6` | Forms, Surveys & Appointments | Complete |
| 11.7 | `experience-11.7` | Publishing, Domains, SEO & PWA | Complete |
| 11.8 | `experience-11.8` | Bundles, Licensing & Feature Toggles | Complete |
| 11.9 | `experience-11.9` | Consumer Integrations & Widgets | Complete |
| 11.10 | `experience-11.10` | Analytics, AI Content & Enterprise Validation | Complete |
Details (dependencies, required docs/services, completion criteria): [phase-manifest.yaml](ai-framework/phase-manifest.yaml).
## Platform Expose (every implementation phase)
Health API · Capability API · Metrics · Events · REST APIs · Permission APIs
## Future Expansion
- Additional page-type packs without vertical code changes
- Third-party theme/component marketplaces behind provider protocols
- Deeper render CDN / edge caching when scoped
- Cross-tenant platform-admin experience analytics (explicit + audited)
## Out of Scope
- Owning Accounting ledgers or Posting Engine
- Owning Sales CRM aggregates
- Owning Loyalty ledger / campaigns
- Owning SMS/email/push providers (Communication owns them)
- Owning Hospitality menu/item or Marketplace product source of truth
- Owning File Storage binaries
- Implementing Phase 11.x business code in the registration phase
- Page Builder / public site UI (frontend phases)
- Replacing Core white-label tenant branding ownership (Experience consumes it)
## Related Documents
- [ADR-016](architecture/adr/ADR-016.md)
- [Phases / Experience](phases/Experience/README.md)
- [Phase Handover XP-Reg](phase-handover/phase-xp-reg.md)
- [Module Registry](module-registry.md#experience)
- [Module Boundaries](architecture/module-boundaries.md)
- [AI Development Framework](ai-framework/README.md)