43 lines
1.4 KiB
Markdown
43 lines
1.4 KiB
Markdown
# 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`).
|