How skeplys83/3d-tshirt-shop works
This is a browser-based 3D T-shirt shop with a Django API. Shoppers explore products in a virtual store, manage a basket, provide customer details, and pay through Stripe; users can also register and manage profiles. Staff have product, order, and user administration. The README documents Stripe webhooks updating order status and confirmation email delivery. Source excerpts are partial, so links between unsampled backend stages are limited to documented behavior; the frontend scene’s detailed product-loading wiring is also not shown.
Main entry points: payment Payment service · orders Order service · users User service · products Product service
Components 23
Shop experience
- Shop shell
frontend/shop-app/src/lib/components/App.svelte - 3D shop scene
frontend/shop-app/src/lib/components/Scene.svelte - Shop model
frontend/shop-app/src/lib/components/3D/shopModel.svelte - Virtual try-on
frontend/shop-app/src/lib/components/3D/tryonOverlay.svelte
Commerce workflow
- Product pages
frontend/shop-app/src/routes/+page.svelte - Shopping basket
frontend/shop-app/src/routes/shoppingBasket/+page.svelte - Checkout
frontend/shop-app/src/routes/checkout/+page.svelte - Payment result
frontend/shop-app/src/routes/paymentSuccess/+page.svelte - Failed payment
frontend/shop-app/src/routes/paymentFailed/+page.svelte
Accounts and admin
- Login and register
frontend/shop-app/src/api/auth/auth.js - Profile
frontend/shop-app/src/routes/profile/+page.svelte - Admin board
frontend/shop-app/src/routes/adminBoard/+page.svelte
Backend services
- User service
backend/shopcore/users - Product service
backend/shopcore/products - Order service
backend/shopcore/orders - Payment service
backend/shopcore/payment - Email service
backend/shopcore/email_service - API routing
backend/shopcore/shopcore/urls.py - PostgreSQL
backend/shopcore/shopcore/settings.py
External services
- Stripe
- SMTP email
Other components
- Shopper
- Staff user
Connections 34
- Shopper → Shop shell: explores
- Shop shell → 3D shop scene: renders
- 3D shop scene → Shop model: displays
- Shopper → Product pages: browses
- Product pages → Product service: requests products
- Shopper → Virtual try-on: tries on
- Shopper → Shopping basket: selects items
- Shopping basket → Checkout: continues
- Checkout → Product service: loads products
- Checkout → Login and register: logs in
- Checkout → Payment service: creates checkout
- Payment service → Stripe: creates session
- Stripe → Payment service: sends webhook
- Payment service → Order service: updates order
- Payment service → Payment result: redirects after payment
- Payment service → Failed payment: redirects on failure
- Order service → Email service: triggers confirmation
- Email service → SMTP email: sends email
- Shopper → Login and register: registers or logs in
- Login and register → User service: calls auth API
- Shopper → Profile: manages profile
- Profile → User service: updates account
- Staff user → Admin board: manages shop
- Admin board → Product service: manages products
- Admin board → Order service: manages orders
- Admin board → User service: manages users
- Product service → PostgreSQL: reads and writes
- User service → PostgreSQL: reads and writes
- Order service → PostgreSQL: reads and writes
- Payment service → PostgreSQL: reads and writes
- API routing → Product service: routes requests
- API routing → User service: routes requests
- API routing → Order service: routes requests
- API routing → Payment service: routes requests