Practitionist / Practitionist/elluminar_web

Digital products & multi-format creator commerce

Open
#26 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

commerce post-mvp v2
Dominant language
TypeScript
Stars
1
Forks
0
Avg merge
17h 2m
Merged PRs (30d)
18

Description

Why / Context

Teardown STEAL (Euron Systems): multi-format creator commerce — digital downloads, 1:1 sessions, bundles — is "more revenue per creator on infrastructure you're building anyway — low incremental engineering cost." The commerce engine, cart, and ledger already treat DIGITAL_PRODUCT as a first-class item type; this issue ships the surfaces.

Schema already in place — NO migration required

  • DigitalProduct (kind EBOOK/TEMPLATE/DATASET/OTHER, fileAsset or externalUrl, publish status/visibility)
  • CommerceItemType.DIGITAL_PRODUCT across Price/CartItem/OrderItem + ledger/commission snapshots
  • 1:1 sessions ship via issue #19 (MentorOffering); bundles via issue #16 — this issue is downloads + storefront integration

Implementation plan

  1. Studio: digital product CRUD (title/slug/description/kind), file upload to Supabase Storage uploads bucket (private) via MediaAsset, pricing rows, publish flow through the same moderation queue as courses.
  2. Delivery service (src/lib/commerce/downloads.ts): fulfillment marks the OrderItem FULFILLED; buyer library page lists purchases; downloads served via short-lived signed URLs (per-request), watermark PDF option (buyer email footer) for EBOOK kind.
  3. Storefront/catalog: digital products section on storefronts + marketplace category filter; reviews reuse pattern deferred (CatalogReview extension noted as future-additive per gap review).
  4. Refund policy: digital goods default refundWindowDays=0 or first-download-voids (policy in PlatformConfig; snapshot per OrderItem as usual) — stated at purchase.
  5. Anti-leak basics: signed URLs, download-count soft limits, watermarking; DRM explicitly out of scope for downloads.
  6. Free lead magnets: price 0 path (email-gated "purchase" creating a FREE payment) for funnel use (pairs with issue #7).
  7. Creator analytics: downloads/revenue in studio dashboard (issue #12).

Acceptance criteria

  • Creator publishes an ebook; buyer purchases and downloads via expiring signed URL
  • Watermarked PDF carries buyer identifier
  • Library page lists all digital purchases with re-download
  • Zero-price lead magnet captures email and fulfills without payment provider round-trip
  • Commission/ledger entries identical in shape to course sales

Dependencies / sequencing

  • MVP M7 fulfillment + M4 storage; issues #16/#19 complete the multi-format trio

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/lib/commerce/downloads.ts and trace the existing fulfillment, storage, storefront, and studio flows described in the issue. Use the existing DIGITAL_PRODUCT commerce records and PlatformConfig refund policy as entry points; done means the listed purchase, delivery, watermarking, library, free-lead-magnet, and ledger acceptance criteria work together.

Written by the indexing model from the issue text.

Assessment

Tech stack
supabase, typescript
Domain
analytics, backend, cloud, frontend, full-stack, payments
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.