SurplusContainers.com is a small, focused marketing platform: a public-facing inventory site paired with an internal admin console for running targeted SendGrid campaigns. The stack is intentionally simple (React SPA + PHP + MySQL) so it can run on shared hosting while still supporting real operational workflows like CSV imports, staged rollouts, and delivery tracking.
The core system is split between a lightweight public site and a secure admin UI that handles campaign creation, recipient selection, inventory-driven templates, and worker-driven send batches. Operational guardrails (caps, kill switch, auto-pause) live server-side so the system stays predictable even under stress.
- Frontend: Two Vite + React/TypeScript apps:
frontend/public-appfor/andfrontend/admin-appfor/admin, with shared code infrontend/shared/src. - Backend: PHP/MySQL API under
/api/sc/*with campaign, inventory, contact, webhook, worker, and admin routes. - Operations: Deploy ZIP scripts stage the public app at the web root, the admin app under
/admin, and the backend under/api, while verification scripts cover public assets, API error envelopes, campaign parsing, and deploy archive contents. - SEO: Public homepage, manifest, favicon/logo assets, sitemap, robots, branded error pages, and crawler exclusions for
/adminand/api.
Start here: docs/SYSTEM_OVERVIEW.md.
Key references:
docs/README.mddocs/SYSTEM_PUBLIC.mddocs/SYSTEM_ADMIN.mddocs/SYSTEM_OPS.mddocs/DEPLOYMENT_GUIDE.mddocs/DEVELOPER_GUIDE.mddocs/PAGESPEED_TRADEOFFS.mddocs/MAINTAINER_GUIDE.md