2.7 KiB
2.7 KiB
Marketplace Project Editor - Sprint 13
Scope
Sprint 13 introduces first version of Marketplace Project Editor.
Editor only manages bootstrap configuration.
Out of scope:
- products
- categories
- orders
- analytics management
Architecture
src/app/features/project-editor/
pages/
components/
sections/
models/
services/
facade/
Editor uses strongly typed bootstrap models and isolated feature state. Components do not call APIs directly.
Facade API
ProjectEditorFacade exposes:
loadBootstrap()updateBootstrap()exportBootstrap()importBootstrap()preview()
Current source of truth:
- existing bootstrap provider via
ConfigService
Future backend integration:
- replace local import/export/save flow with builder endpoints
- keep component contracts unchanged
Supported Sections
- General
- marketplace name
- domain
- description
- default language
- supported languages
- Branding
- logo
- small logo
- favicon
- marketplace title
- Theme
- palette tokens via color pickers
- Header
- logo/search/categories/languages/cart/profile/wishlist/compare/region toggles
- Footer
- company information
- address
- phone
- copyright
- payment icons
- social links
- static pages
- Homepage
- home page sections list
- visibility
- order
- layout
- drag-and-drop ordering
- Widgets
- homepage widget configuration
- typed shortcuts for hero/categories/product collection widgets
- JSON fallback for other widget props
- Marketplace Features
- feature flags
- search suggestions/history
- recently viewed
- reviews/questions/recommendations
- Preview
- export JSON
- import JSON
- runtime preview without full browser refresh
Preview Strategy
Preview updates bootstrap snapshot in memory and re-applies:
- theme
- branding
- runtime state
- route-based page rendering on next Angular navigation
This keeps bootstrap engine intact while enabling fast local preview.
Widget Configuration
Current widget editor supports explicit fields for:
- Hero
- layout
- height
- overlay
- autoplay
- Categories
- layout
- columns
- Product Collection
- layout
- cards per row
- filters
- badges
- rating
- price
Other widgets use JSON props fallback until dedicated editors are added.
Future Backend Endpoints
Recommended future builder endpoints:
GET /builder/bootstrapPUT /builder/bootstrapPOST /builder/bootstrap/previewPOST /builder/bootstrap/validatePOST /builder/bootstrap/importGET /builder/bootstrap/export
Constraints
- runtime bootstrap engine not replaced
- configuration stays source of truth
- no hardcoded marketplace values
- no business domain management mixed into editor