From 61f1f5903074fb612ca9356e55f4213fae14b439 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Thu, 29 Jan 2026 17:50:38 +0000 Subject: [PATCH] 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 --- backend/app/services/design_service.py | 2 +- docker-compose.dev.yml | 42 ++++++++++++++++++++++++++ frontend/next-env.d.ts | 6 ++++ 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 docker-compose.dev.yml create mode 100644 frontend/next-env.d.ts diff --git a/backend/app/services/design_service.py b/backend/app/services/design_service.py index 1164dd9..834ad3d 100644 --- a/backend/app/services/design_service.py +++ b/backend/app/services/design_service.py @@ -140,7 +140,7 @@ class DesignService: DesignProduct( type=p.get("type", ""), provider=p.get("provider", ""), - sku=p.get("sku", ""), + sku=str(p.get("sku", "")), # Convert to string (some SKUs are integers) variants=p.get("variants", []), retail_price=float(p.get("retail_price", 0)), ) diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100644 index 0000000..240753a --- /dev/null +++ b/docker-compose.dev.yml @@ -0,0 +1,42 @@ +version: "3.8" + +# Development overrides - use with: docker compose -f docker-compose.yml -f docker-compose.dev.yml up + +services: + db: + ports: + - "5432:5432" + + redis: + ports: + - "6379:6379" + + backend: + build: + context: ./backend + dockerfile: Dockerfile + volumes: + # Mount source for hot reload + - ./backend/app:/app/app:ro + # Mount designs from sibling repo + - ../mycopunk-swag/designs:/app/designs:ro + - ../mycopunk-swag/config:/app/config:ro + environment: + - DEBUG=true + - POD_SANDBOX_MODE=true + ports: + - "8000:8000" + command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload + + frontend: + build: + context: ./frontend + dockerfile: Dockerfile + args: + - NEXT_PUBLIC_API_URL=http://localhost:8000/api + ports: + - "3000:3000" + +networks: + traefik-public: + driver: bridge # Override external for local dev diff --git a/frontend/next-env.d.ts b/frontend/next-env.d.ts new file mode 100644 index 0000000..830fb59 --- /dev/null +++ b/frontend/next-env.d.ts @@ -0,0 +1,6 @@ +/// +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.