# Print Forge 3D printed toy shop for Print Forge ([Web Design & Hosting](https://aimloperations.com/web_design)). Public site + client portal, plus purchased catalog add-ons: email & SMS, payments, e-commerce, and shipping automation. ## Catalog | Catalog item | Flag | App | |---|---|---| | Public site | (always on) | `public` | | Client portal + UTM | (always on) | `accounts`, `dashboard`, `leads`, `analytics`, `contacts`, `core` | | Email & SMS | `FEATURE_EMAIL_SMS` | `email_sms` | | Payments (Stripe) | `FEATURE_PAYMENTS` | `payments` | | E-commerce storefront | `FEATURE_SHOP` | `shop` | | Shipping automation | `FEATURE_SHIPPING` | `shipping` | Off for this client: direct mail, blog, social, social AI, POS sync, event ticketing. ## Contact - Phone: 630-632-0202 - Email: Printforgeprints@gmail.com - Public URL (placeholder until DNS): https://printforgeprints.com ## Local ```bash cp .env.example .env uv sync cd site uv run python manage.py migrate uv run python manage.py runserver # or: docker compose up ``` ## Deploy ```bash mkdir -p ~/Documents/secrets/print_forge cp .env.prod.example ~/Documents/secrets/print_forge/print_forge_prod.env # Fill Stripe, SMTP2GO, shortener, and DB secrets. ./scripts/validate-env.sh ~/Documents/secrets/print_forge/print_forge_prod.env ``` Infra: Postgres on 10.0.0.230, server-infra app_catalog, NPM, CI. Create a portal user with `createsuperuser` after first deploy. ## Stack Django 6 + uv · Postgres (prod/beta); SQLite locally · dj-queue · Docker · server-infra Ansible deploy.