8.1 KiB
Scope v0.401 — Phase 4 Commerce (première release)
Version cible : v0.401 (X=4, Y=1)
Prérequis : v0.303 taguée et mergée dans main
Objectif : Marketplace catalogue complet, licences & droits, seller dashboard enrichi
Dernière mise à jour : février 2026
Effort estimé : 6-8 semaines de développement
1. Principe directeur
v0.401 = première release Phase 4 Commerce.
Trois axes principaux :
- Produits & Catalogue (Lot M1) : CRUD produits enrichi, upload preview, images, métadonnées BPM/key
- Licences & Droits (Lot M2) : Types de licences (écoute, personnelle, commerciale, exclusive), conditions
- Seller dashboard enrichi (Lot M3) : Graphiques ventes, meilleurs produits, taux de conversion
2. Contexte — État post v0.303
2.1 Livré en v0.303
| Lot | Feature | Statut |
|---|---|---|
| C2 | Chat appels WebRTC 1-to-1 (signalisation, CallButton, IncomingCallModal, ActiveCallBar) | ✅ |
2.2 Fondation existante (à enrichir)
| Domaine | Existant | À ajouter v0.401 |
|---|---|---|
| Marketplace | CRUD produits basique, catalogue, panier, wishlist | Upload preview, images multi, BPM/key, catégories produits |
| Licences | Types basiques (streaming, personnelle, commerciale) | Conditions d'utilisation, contrat auto, historique licences |
| Seller | Stats ventes, liste produits (Lot F v0.202) | Graphiques évolution, meilleurs produits, taux conversion |
2.3 Composants techniques
| Composant | État | Action v0.401 |
|---|---|---|
| veza-backend-api | ✅ | Routes produits enrichies, licences, seller stats |
| apps/web | ✅ | CreateProductView enrichi, ProductDetailView, SellerDashboardView graphiques |
| Hyperswitch | ✅ | Inchangé (paiement réel → v0.402) |
3. Features IN SCOPE v0.401
3.1 Lot M1 — Produits & Catalogue
Objectif : Enrichir le catalogue produits (upload preview, images, métadonnées).
Effort : M (4-5 jours)
Référence : Module 7.1 (features 226-240)
| # | Feature | Tâche détaillée | Backend | Frontend | Critère de sortie |
|---|---|---|---|---|---|
| M1.1 | Upload preview | Fichier démo/écoute pour produit | POST /marketplace/products/:id/preview | CreateProductView, ProductDetailView | Preview jouable sur fiche produit |
| M1.2 | Images produit (multi) | Plusieurs images par produit | Migration images, PUT /products/:id/images | Galerie images dans ProductDetailView | Carousel ou grille images |
| M1.3 | BPM/Key dans produits | Métadonnées musicales sur produits | Colonnes bpm, musical_key (ou réutilisation tracks) | Filtres marketplace par BPM/key | Filtrage fonctionnel |
| M1.4 | Catégories produits | Sample, beat, preset, pack | Enum ou table product_categories | Filtre catégories dans MarketplaceHome | Navigation par catégorie |
| M1.5 | Description rich text | Description produit formatée | Champ description (TEXT, sanitized) | Éditeur simple (bold, listes) | Description affichée formatée |
Fichiers clés :
- Backend :
marketplace/service.go,routes_marketplace.go, migrations - Frontend :
CreateProductView,ProductDetailView,MarketplaceHome,marketplaceService.ts
3.2 Lot M2 — Licences & Droits
Objectif : Types de licences explicites, conditions, historique.
Effort : M (3-4 jours)
Référence : Module 7.2 (features 241-250)
| # | Feature | Tâche détaillée | Backend | Frontend | Critère de sortie |
|---|---|---|---|---|---|
| M2.1 | Types de licences | Écoute, personnelle, commerciale, exclusive | Enum license_type, table product_licenses | LicenceCard avec types | Sélection licence à l'achat |
| M2.2 | Conditions par licence | Texte conditions d'utilisation | Champ license_terms par type | Affichage modal avant achat | Conditions visibles et acceptables |
| M2.3 | Historique licences achetées | GET /marketplace/licenses/mine | Table user_licenses ou orders+licenses | Page « Mes licences » ou section Purchases | Liste licences avec re-téléchargement |
Fichiers clés :
- Backend :
marketplace/service.go, migration product_licenses, user_licenses - Frontend :
LicenceCard,LicenceDetailsModal,PurchasesViewouLicensesView
3.3 Lot M3 — Seller dashboard enrichi
Objectif : Graphiques, meilleurs produits, taux de conversion.
Effort : M (3-4 jours)
Référence : Module 7.4 (features 266-271)
| # | Feature | Tâche détaillée | Backend | Frontend | Critère de sortie |
|---|---|---|---|---|---|
| M3.1 | Graphiques évolution ventes | Revenus par période (jour/semaine/mois) | GET /sell/stats/evolution (ou étendre /sell/stats) | Chart.js ou Recharts dans SellerDashboardView | Courbe ventes affichée |
| M3.2 | Meilleurs produits | Top 5-10 produits par ventes/revenus | GET /sell/stats/top-products | Section « Meilleurs produits » | Liste top produits |
| M3.3 | Taux de conversion | Vues vs achats (si tracking vues) | Agrégation si données disponibles | Affichage taux | Taux affiché ou « N/A » si pas de données |
Fichiers clés :
- Backend :
commerce_service.go,sell_handlers.go - Frontend :
SellerDashboardView,commerceService.ts
4. Récapitulatif par lot
| Lot | Priorité | Effort | Dépendances |
|---|---|---|---|
| M1 | Haute | M (4-5 j) | Aucune |
| M2 | Haute | M (3-4 j) | M1 (produits) |
| M3 | Moyenne | M (3-4 j) | Lot F (seller basique) |
Ordre recommandé : M1 → M2 → M3 (ou M1 et M3 en parallèle si équipes séparées).
5. Features HORS SCOPE v0.401
| Feature | Raison | Version cible |
|---|---|---|
| Paiement Hyperswitch réel (checkout) | Intégration complexe, seller mature requis | v0.402 |
| Seller dashboard complet (reviews, promotions) | Priorité moindre | v0.403 |
| Codes promo / réductions | Dépend checkout | v0.402 |
| Payout automatique (Stripe Connect) | Infra externe | v0.403 |
| Dispute / réclamation | Scope support | v0.403+ |
6. Migrations et schémas
| Migration | Description |
|---|---|
| 092 | product_previews (product_id, file_path, duration_sec, created_at) |
| 093 | product_images (product_id, url, sort_order, created_at) |
| 094 | product_licenses (product_id, license_type, price_cents, terms_text, created_at) |
| 095 | user_licenses (user_id, product_id, license_type, order_id, purchased_at) — si pas déjà couvert par orders |
À valider selon schéma DB existant.
7. Critères de livraison v0.401
- Lot M1 : Upload preview, images multi, BPM/key, catégories, description rich text
- Lot M2 : Types licences, conditions, historique licences achetées
- Lot M3 : Graphiques ventes, meilleurs produits, taux conversion
- Tests :
go test ./...OK,npm run buildOK - Documentation : FEATURE_STATUS, PROJECT_STATE, CHANGELOG mis à jour
8. Checklist pré-merge
- Tous les lots IN SCOPE terminés ou reportés (avec ticket)
- Pas de régression sur v0.303
- SCOPE_CONTROL.md référence V0_401_RELEASE_SCOPE.md
- FEATURE_STATUS.md mis à jour
- CHANGELOG v0.401
- MSW handlers pour nouvelles routes
- Stories Storybook pour composants modifiés (Loading, Error, Empty selon STORYBOOK_CONTRACT)
9. Transition vers v0.402
À l'issue de v0.401 (taguée) :
- Marketplace catalogue mature
- Prochaine version : v0.402 — Checkout Hyperswitch production-ready, codes promo
- Document de scope : V0_402_RELEASE_SCOPE.md
Références
- V0_303_RELEASE_SCOPE.md — Version précédente
- SCOPE_CONTROL.md — Processus anti-scope-creep
- FEATURE_STATUS.md — Statut des features
- PROJECT_STATE.md — État actuel du projet
- veza_full_features_list.md — Module 7 Marketplace