# Blade & Brawn Platform monorepo for bladeandbrawn.com: an athletic level calculator (rating a player's strength, power, endurance, and agility against real-world standards) and the storefront/commerce integration that syncs products between Printful and Webflow. ## Structure Everything is wired together with plain `workspace:*` dependencies. | Path | What it is | | --- | --- | | `apps/api` | ElysiaJS backend — calculator, commerce sync, auth, admin endpoints | | `apps/portal` | SvelteKit admin portal for managing standards config and commerce data | | `packages/calculator` | Level calculation engine (standards generation + interpolation) | | `packages/commerce` | Printful and Webflow API clients and product sync logic | | `packages/domain` | Shared models, enums, and utils used by the packages above | Each app/package has its own README with setup and usage details. The level calculator's algorithm and data sources are documented separately in [`docs/level-calculator.md`](docs/level-calculator.md). ## Prerequisites - [Bun](https://bun.sh) - PostgreSQL (for `apps/api`) ## Getting started ```bash bun install # run the API (see apps/api/README.md for required env vars) bun run dev:api # run the portal (see apps/portal/README.md for required env vars) bun run dev:portal ``` Both apps also have `build:api` / `build:portal` root scripts, and are deployed to Fly.io (see each app's `fly.toml`).