generated from westfarn/web_django_template
Ship Print Forge shop site (colors, photos, 3D viewer) (#2)
## Summary - Rebrand the Django client template as Print Forge (`client_site` → `print_forge`) with shop + shipping enabled. - Product listings support multiple photos, color variants (shared price/description/STL, per-color stock and photos), and a photo-first / 3D-second gallery. - Public pages use 3D printer / printed-toy photography instead of leftover t-shirt mockups; beta CI deploys on `master`. Closes #1 Infra: [server-infra#27](ai_ml_operations/server-infra#27) (easy deploy beta). ## Test plan - [ ] Product page shows photo first, 3D model second; color swatches swap photos and stock - [ ] Portal can upload multiple photos and per-color qty/images; STL stays shared - [ ] Public home/about/gallery have no t-shirt mockups - [ ] `manage.py test` passes - [ ] After server-infra#27: beta deploy to `print-forge-preview.aimloperations.com` Reviewed-on: #2
This commit was merged in pull request #2.
This commit is contained in:
+32
-13
@@ -10,17 +10,17 @@ DJANGO_SECRET_KEY=dev-only-change-me
|
||||
DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1,0.0.0.0
|
||||
|
||||
# Leave empty for SQLite, or point at local compose Postgres:
|
||||
# DATABASE_URL=postgres://client_site:client_site@127.0.0.1:5432/client_site
|
||||
# DATABASE_URL=postgres://print_forge:print_forge@127.0.0.1:5432/print_forge
|
||||
|
||||
SITE_UNDER_CONSTRUCTION=false
|
||||
SITE_NAME=Your Company
|
||||
SITE_TAGLINE=A tagline for the public site
|
||||
SITE_NAME="Print Forge"
|
||||
SITE_TAGLINE="Handcrafted 3D printed toys"
|
||||
PUBLIC_SITE_URL=http://127.0.0.1:8000
|
||||
CONTACT_PHONE=
|
||||
CONTACT_EMAIL=hello@example.com
|
||||
CONTACT_PHONE=630-632-0202
|
||||
CONTACT_EMAIL=Printforgeprints@gmail.com
|
||||
CONTACT_ADDRESS=
|
||||
CONTACT_SERVICE_AREA=
|
||||
CREDIT_NAME=AI ML Operations, LLC
|
||||
CONTACT_SERVICE_AREA=Chicagoland
|
||||
CREDIT_NAME="AI ML Operations, LLC"
|
||||
CREDIT_URL=https://aimloperations.com
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -30,11 +30,15 @@ CREDIT_URL=https://aimloperations.com
|
||||
# Disabled apps are omitted from INSTALLED_APPS (no models, admin, URLs, nav).
|
||||
# ---------------------------------------------------------------------------
|
||||
FEATURE_EMAIL_SMS=true
|
||||
FEATURE_DIRECT_MAIL=true
|
||||
FEATURE_BLOG=true
|
||||
FEATURE_DIRECT_MAIL=false
|
||||
FEATURE_BLOG=false
|
||||
FEATURE_PAYMENTS=true
|
||||
FEATURE_SOCIAL=true
|
||||
FEATURE_SOCIAL_AI=true
|
||||
FEATURE_SOCIAL=false
|
||||
FEATURE_SOCIAL_AI=false
|
||||
FEATURE_SHOP=true
|
||||
FEATURE_POS_SYNC=false
|
||||
FEATURE_EVENTS=false
|
||||
FEATURE_SHIPPING=true
|
||||
|
||||
# reCAPTCHA (optional locally — form skips captcha when empty)
|
||||
RECAPTCHA_PUBLIC_KEY=
|
||||
@@ -48,8 +52,8 @@ EMAIL_PORT=2525
|
||||
EMAIL_USE_TLS=true
|
||||
# Inbox From. Docker Compose .env cannot parse: "Name" <addr>
|
||||
# Use bare address (SITE_NAME is wrapped) OR one quoted string:
|
||||
# DEFAULT_FROM_EMAIL="Your Company <noreply@example.com>"
|
||||
DEFAULT_FROM_EMAIL=noreply@example.com
|
||||
# DEFAULT_FROM_EMAIL="Your Company <noreply@printforgeprints.com>"
|
||||
DEFAULT_FROM_EMAIL=Printforgeprints@gmail.com
|
||||
# Console (default in DJANGO_ENV=dev) prints mail to container logs.
|
||||
# EMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend
|
||||
SMTP2GO_SMS_API_KEY=
|
||||
@@ -74,6 +78,21 @@ STRIPE_PUBLISHABLE_KEY=
|
||||
STRIPE_WEBHOOK_SECRET=
|
||||
STRIPE_CURRENCY=usd
|
||||
|
||||
# Shop — FEATURE_SHOP (requires email/SMS + payments)
|
||||
# SHOP_PRINT_QUEUE_LIMIT_MINUTES=0
|
||||
|
||||
# POS sync — FEATURE_POS_SYNC (requires shop). Required in beta/prod.
|
||||
POS_WEBHOOK_SECRET=
|
||||
POS_API_BASE_URL=
|
||||
POS_API_TOKEN=
|
||||
|
||||
# Shipping — FEATURE_SHIPPING (requires shop). EasyPost optional; CSV export always works.
|
||||
EASYPOST_API_KEY=
|
||||
SHIP_FROM_LINE1=
|
||||
SHIP_FROM_CITY=
|
||||
SHIP_FROM_STATE=
|
||||
SHIP_FROM_ZIP=
|
||||
|
||||
# Social — SOCIAL_TOKEN_ENCRYPTION_KEY required when FEATURE_SOCIAL=true
|
||||
# LinkedIn / Instagram App ID + Secret: Portal → Social accounts (not env).
|
||||
META_APP_ID=
|
||||
|
||||
Reference in New Issue
Block a user