Commit Graph

15 Commits

Author SHA1 Message Date
Jeff Emmett 59a738bc23 Fix YAML parsing error in generated design metadata
Escape double quotes in user-provided name and concept fields to prevent
YAML parsing errors when designs contain quotes (e.g., "tax wealth not work").

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 00:07:49 +01:00
Jeff Emmett 687ed9168e Add deployment scaffolding (Dockerfile, docker-compose, nginx)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 14:14:31 +01:00
Jeff Emmett 169b63160d fix: resolve async SQLAlchemy lazy loading issue in cart service
Use get_cart() with selectinload instead of refresh() to avoid
greenlet_spawn errors when accessing cart.items relationship.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 00:07:10 +00:00
Jeff Emmett 286eb2f06c feat: add product detail page with add-to-cart functionality
- Create dynamic product page at /products/[slug]
- Add variant selection buttons
- Add quantity controls
- Implement cart management with localStorage cart_id
- Update cart page with product images, quantity controls, and remove functionality

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 00:02:14 +00:00
Jeff Emmett ca2d13d9a1 feat: display actual products on homepage
- Fetch products from API instead of hardcoded placeholders
- Show product images with hover effect
- Add 'Design Your Own' button
- Link products to detail pages
- Revalidate every 60 seconds
2026-01-31 21:23:22 +00:00
Jeff Emmett c10e1fb453 fix: group products by design to eliminate duplicates 2026-01-31 13:42:25 +00:00
Jeff Emmett ce77530efc fix: clear design cache when activating a design 2026-01-31 13:35:48 +00:00
Jeff Emmett 0724566c05 fix: use correct Gemini model for image generation (gemini-3-pro-image-preview) 2026-01-30 11:57:54 +00:00
Jeff Emmett cf347dfdf8 fix: add GEMINI_API_KEY env and make designs volume writable 2026-01-30 11:23:04 +00:00
Jeff Emmett 3262786269 feat: add Design Swag feature with AI generation
- Add /api/design/generate endpoint for AI image generation
- Add /api/design/{slug}/activate to publish designs
- Add /design page with form and preview
- Add 'Design Swag' button to navigation
- Update footer tagline to 'Build infrastructure, not empires'
2026-01-30 11:00:07 +00:00
Jeff Emmett 9b815a90d6 fix: Remove port exposure for production deployment
- Remove port bindings from base compose (production)
- Keep ports only in dev override
- Remove obsolete version attribute

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 19:41:22 +00:00
Jeff Emmett 16275b3a9b fix: Ensure public directory exists in Docker build
- Add mkdir -p public in builder stage
- Add public/.gitkeep placeholder

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 19:15:08 +00:00
Jeff Emmett 61f1f59030 fix: Handle integer SKUs in design metadata
- Convert SKU to string when loading from metadata.yaml
- Add docker-compose.dev.yml for local development
- Add frontend type definitions

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 17:50:38 +00:00
Jeff Emmett 2e2743a955 chore: Add frontend lock file and utils
- Add package-lock.json for reproducible builds
- Add lib/utils.ts with cn() helper
- Fix .gitignore to not exclude frontend/lib

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 17:06:33 +00:00
Jeff Emmett b924e41ce8 feat: Initialize mycopunk-swag-store e-commerce platform
Full-stack e-commerce platform for mycopunk merchandise:

Backend (FastAPI):
- Design service reading from mycopunk-swag repo
- Cart, checkout, and order management
- Stripe payment integration
- POD webhook handlers (Prodigi, Printful)
- Admin API with JWT auth
- PostgreSQL with Alembic migrations

Frontend (Next.js 15):
- Product catalog with SSR
- Shopping cart with localStorage persistence
- Stripe checkout redirect flow
- Tailwind CSS + shadcn/ui theming

Infrastructure:
- Docker Compose with PostgreSQL, Redis
- Traefik labels for swag.mycofi.earth
- Multi-stage Dockerfiles

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 16:59:45 +00:00