Add Release Scope, Implementation Plan, and Smoke Test for 7 versions: - v0.703: Go Live & Streaming Complet (Phase 7 Finale) - v0.801: UX/UI Polish, Accessibilite & PWA (Phase 8) - v0.802: Cloud Complet, Fichiers & Gear Avance (Phase 8) - v0.803: Securite, Compliance & Outillage Dev (Phase 8) - v0.901: Marketplace Complet & Analytics Avances (Phase 9) - v0.902: Social Complet, Chat & Notifications (Phase 9) - v0.903: Stabilisation v1.0 & Launch Readiness (Phase 9) 21 documents total (3 per version), covering all remaining features needed to reach v1.0 from v0.702.
8.3 KiB
8.3 KiB
V0.901 Release Scope — Marketplace Complet & Analytics Avancés
Statut : Planifié Phase : 9 (v1.0 Launch — Lot 1) Prérequis : v0.803 (taguée) Date cible : TBD Estimation : ~3 sprints (15 jours ouvrés) Précédente : v0.803
1. Objectif
Première version de la Phase 9. Complète le module Marketplace (wishlist, promotions/flash sales, dispute/réclamation, réponses aux reviews, re-téléchargement illimité, informations fiscales) et les Analytics avancés (géographie auditeurs, démographie, devices, sources de trafic, projections revenus, analytics admin). Ces fonctionnalités finalisent le volet commerce et données pour la v1.0.
2. État actuel (post-v0.803)
| Composant | État | Détail |
|---|---|---|
| Produits & Catalogue | ✅ Livré v0.401 | CRUD, filtres, images, previews |
| Licences & Droits | ✅ Livré v0.401 | Types, conditions, LicenceCard |
| Checkout Hyperswitch | ✅ Livré v0.402 | Production-ready, return URL |
| Codes promo | ✅ Livré v0.402 | Validation, OrderSummary |
| Reviews | ✅ Livré v0.702 | Create, List, tests unitaires |
| Factures PDF | ✅ Livré v0.702 | GenerateInvoice, download |
| Remboursements | ✅ Livré v0.702 | RefundOrder, licence revocation |
| Seller dashboard | ✅ Livré v0.401 | Stats, evolution chart, top products |
| Transfer auto | ✅ Livré v0.603 | Stripe Connect, commission plateforme |
| Wishlist | ❌ Absent | wishlist.go existe mais non connecté frontend |
| Promotions / flash sales | ❌ Absent | Pas de système de promotions dynamiques |
| Dispute / réclamation | ❌ Absent | Pas de flow dispute client |
| Répondre aux reviews | ❌ Absent | Pas de réponse vendeur aux reviews |
| Re-téléchargement illimité | ❌ Absent | Pas de re-download après achat |
| Informations fiscales | ❌ Absent | Pas de calcul taxes automatique |
| Analytics créateur | ✅ Livré v0.202 | Stats, charts, export CSV/JSON |
| Géographie auditeurs | ❌ Absent | Pas de carte géographique |
| Démographie | ❌ Absent | Pas de données démographiques |
| Device analytics | ❌ Absent | Pas de breakdown par device |
| Admin analytics | ❌ Absent | Pas de DAU/MAU, rétention |
3. Lots
Lot MK1 — Marketplace Avancé
| # | Tâche | Fichiers impactés | Effort |
|---|---|---|---|
| MK1-01 | Wishlist frontend — connecter wishlist.go existant, WishlistView, bouton coeur sur ProductCard, GET /marketplace/wishlist |
Frontend + routes | M |
| MK1-02 | POST /marketplace/wishlist/:productId, DELETE /marketplace/wishlist/:productId — ajout/retrait wishlist |
Backend routes | S |
| MK1-03 | Promotions — migration 126_promotions.sql (table promotions: product_id, discount_percent, starts_at, ends_at, is_active), CRUD endpoints |
Migrations, handlers | L |
| MK1-04 | Flash sales frontend — badge "PROMO -X%" sur ProductCard, countdown timer, page /marketplace/deals | Frontend | M |
| MK1-05 | Dispute / réclamation — migration 127_disputes.sql (table disputes: order_id, buyer_id, reason, status, resolution), POST /marketplace/orders/:id/dispute, GET /admin/disputes |
Migrations, handlers | L |
| MK1-06 | Réponse aux reviews — POST /marketplace/reviews/:id/reply (seller uniquement), affichage reply dans ProductDetailViewReviews |
Backend, frontend | M |
| MK1-07 | Re-download — GET /marketplace/orders/:id/download retourne lien S3 temporaire pour les fichiers achetés, illimité dans le temps |
Backend | M |
| MK1-08 | Taxes — config TAX_RATE par pays (défaut 0), calcul automatique dans checkout, affichage dans OrderSummary |
Backend, frontend | M |
| MK1-09 | MSW handlers — wishlist, promotions, disputes, review reply, download | MSW | S |
| MK1-10 | Tests — wishlist CRUD, promotion validity, dispute flow, re-download auth | Tests | M |
Lot AN1 — Creator Analytics Complet
| # | Tâche | Fichiers impactés | Effort |
|---|---|---|---|
| AN1-01 | Géographie auditeurs — collecte IP → country (MaxMind GeoIP2-Lite), GET /analytics/geography |
Backend | L |
| AN1-02 | Carte géographique frontend — composant carte avec heatmap par pays (bibliothèque légère, ex: react-simple-maps) | Frontend | L |
| AN1-03 | Démographie — user-agent parsing (device, OS, browser), GET /analytics/demographics |
Backend | M |
| AN1-04 | Device analytics — breakdown desktop/mobile/tablet, chart donut | Frontend | M |
| AN1-05 | Sources de trafic — referrer tracking, GET /analytics/traffic-sources |
Backend | M |
| AN1-06 | Revenue projections — GET /analytics/revenue/projection basé sur tendance 30/60/90 jours (régression linéaire simple) |
Backend | M |
| AN1-07 | Comparaison périodes — GET /analytics/compare?period1=...&period2=... |
Backend | M |
| AN1-08 | Frontend analytics dashboard enrichi — onglets Geography, Demographics, Traffic, Revenue | Frontend | L |
| AN1-09 | Tests — geography parsing, projection calculation, comparison | Tests | M |
Lot AN2 — Admin Analytics
| # | Tâche | Fichiers impactés | Effort |
|---|---|---|---|
| AN2-01 | DAU/MAU — GET /admin/analytics/users basé sur last_active_at |
Backend | M |
| AN2-02 | Nouveaux inscrits — GET /admin/analytics/signups?period=30d |
Backend | S |
| AN2-03 | Taux de rétention — calcul D1, D7, D30 retention | Backend | M |
| AN2-04 | Volume de transactions — GET /admin/analytics/transactions (revenus, nombre, ticket moyen) |
Backend | S |
| AN2-05 | Performances infrastructure — GET /admin/analytics/performance (p50, p95 latency, error rate) via Prometheus API |
Backend | M |
| AN2-06 | Frontend admin analytics — dashboard avec widgets DAU/MAU, signups chart, retention curve, transactions summary | Frontend | L |
| AN2-07 | Tests — DAU calculation, retention formula, transaction aggregation | Tests | M |
Lot QA1 — Tests & Release
| # | Tâche | Fichiers impactés | Effort |
|---|---|---|---|
| QA1-01 | Smoke test v0.901 | docs/SMOKE_TEST_V0901.md |
S |
| QA1-02 | Mise à jour docs | docs/ |
S |
| QA1-03 | Rétrospective, archivage, placeholder v0.902, tag | docs/, Git |
S |
4. Hors scope v0.901
| Élément | Version cible |
|---|---|
| Chat enrichi (images, GIFs) | v0.902 |
| Transactional emails | v0.902 |
| Social complete (hashtags, QR) | v0.902 |
| Profiles complete (verified badge) | v0.902 |
| Search recommendations ML | v0.903 |
| PayPal support | v2.0 |
| Crypto payments | v2.0 |
| Signature électronique licences | v2.0 |
| Contrat automatique généré | v2.0 |
5. Critères d'acceptation
- Wishlist : ajout/retrait produit, page /marketplace/wishlist, coeur sur ProductCard
- Promotions : CRUD, discount appliqué au checkout, badge PROMO, countdown, page /deals
- Dispute : création par buyer, liste admin, résolution (refund/dismiss)
- Review reply : vendeur peut répondre, reply affiché sous la review
- Re-download : lien S3 temporaire illimité pour les achats
- Taxes : calcul auto par pays, affiché dans OrderSummary
- Géographie : carte heatmap des auditeurs par pays
- Démographie : breakdown device/OS/browser
- Traffic sources : referrer top 10
- Revenue projections : prévision 30/60/90j
- Admin DAU/MAU, signups, retention, transactions
- Tag v0.901 créé
6. Risques
| Risque | Mitigation |
|---|---|
| GeoIP database size | Utiliser MaxMind GeoIP2-Lite (gratuit, ~60MB), refresh mensuel |
| Projections revenus fausses | Disclaimer "estimation basée sur les 90 derniers jours" |
| Carte géographique lourde (SVG) | react-simple-maps avec lazy load, simplification polygones |
| Dispute flow complexe | Flow simple v1 (open → resolve), workflow avancé en v2 |
| Taxes multi-pays | Taux configurables par pays dans admin, pas de calcul auto TVA complexe |
7. Références
- V0_803_RELEASE_SCOPE.md
- SCOPE_CONTROL.md
veza-backend-api/internal/core/marketplace/(service, models, wishlist.go)veza-backend-api/internal/core/analytics/apps/web/src/features/marketplace/apps/web/src/features/analytics/