Commit Graph

8 Commits

Author SHA1 Message Date
Jeff Emmett b050eff37f feat: wire SMTP email credentials for noreply@rswag.online
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 00:09:08 -08:00
Jeff Emmett be893db11e chore: pass PRINTFUL_STORE_ID and PUBLIC_URL to backend container
Secrets are stored in Infisical and injected at startup via the
entrypoint script. Docker-compose also passes them as fallback env
vars from the host .env.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 17:04:44 -08:00
Jeff Emmett b35df552f7 feat: wire rswag backend to pull secrets from Infisical at startup
Add Python-based entrypoint.sh that authenticates with Infisical via
universal-auth, fetches secrets, and exports them as env vars before
starting uvicorn. Secrets like MOLLIE_API_KEY, PRODIGI_API_KEY,
PRINTFUL_API_TOKEN, JWT_SECRET, GEMINI_API_KEY, and FLOW_* vars are
now pulled from Infisical instead of being passed through docker-compose.

Gracefully degrades: if no INFISICAL_CLIENT_ID/SECRET are set or if
the fetch fails, the container starts with whatever env vars exist.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 19:36:35 -08:00
Jeff Emmett acfe6cc350 feat: add Prodigi POD client + server-side product mockup previews
- Prodigi v4 API client for order fulfillment (create/get orders, quotes)
- Server-side mockup generation: Pillow composites designs onto product
  templates (shirt, sticker, print) at GET /api/designs/{slug}/mockup
- Product listing and detail pages now show designs ON products
- Mockup type switcher on product detail page (T-Shirt/Sticker/Art Print)
- Order service submits to Prodigi after successful payment
- POD webhook endpoint for fulfillment status updates

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 13:29:47 -07:00
Jeff Emmett b437709510 feat: replace Stripe with Mollie payments + TBFF revenue split to bonding curve
- Swap stripe SDK for mollie-api-python (Dutch data residency, PCI-DSS L1)
- Mollie redirect checkout flow: create payment → hosted page → webhook
- Rename DB columns: stripe_session_id → payment_id, add payment_provider
- Add revenue split: configurable fraction of each sale deposits to
  flow-service TBFF funnel → Transak on-ramp → bonding curve ($MYCO)
- Add checkout success page with cart cleanup
- Add backlog tasks for remaining work
- Remove @stripe/stripe-js from frontend, Stripe env vars from Docker

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 13:16:39 -07:00
Jeff Emmett 45287d66b3 feat: add fungiswag.jeffemmett.com as custom domain for Fungi Flows
Map fungiswag.jeffemmett.com to the fungiflows space so it can be used
independently of the rswag.online domain.

- Middleware: detect fungiswag.jeffemmett.com → fungiflows space
- Traefik: add Host rule for fungiswag.jeffemmett.com
- CORS: allow fungiswag.jeffemmett.com origin
- Space config: update domain field

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 12:45:21 -07:00
Jeff Emmett 7be99d37d0 feat: add multi-tenant spaces with Fungi Flows storefront
Add subdomain-based spaces system for branded storefronts. Each space
has its own theme, product catalog, and isolated cart via scoped
localStorage keys.

- Backend: SpaceService loads YAML configs, new /api/spaces endpoints,
  design filtering by space, CORS regex for *.rswag.online
- Frontend: Next.js middleware detects subdomain and sets space_id cookie,
  dynamic CSS variable injection for theming, space-aware API calls
- Spaces: _default (rSwag hub, cyan/orange) and fungiflows (gold/green/purple)
- Docker: Traefik wildcard HostRegexp for subdomain routing
- Designs: Placeholder Fungi Flows sticker and logo tee

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 12:20:19 -07:00
Jeff Emmett 72f072f233 Initial commit: rSwag - merch store for the rSpace ecosystem
Forked from mycopunk-swag-store and rebranded for rSpace:
- Next.js 15 + FastAPI + PostgreSQL + Stripe
- Printful + Prodigi POD integration
- AI design generation via Gemini API
- rSpace color scheme (cyan/orange) and branding
- In-repo designs directory (stickers, shirts, misc)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 03:24:22 -07:00