Appearance
Development Setup
Prerequisites
- Bun 1.3+
- Git
- Supabase CLI (for local database)
Clone the Repository
bash
git clone https://forgejo.wyattau.com/Rankhub/rankhub_app.git
cd rankhub_appInstall Dependencies
bash
bun installConfigure Environment
bash
cp .env.example .envEdit .env and fill in the required variables. For local development with Supabase local stack, the defaults work out of the box.
Start Local Database
bash
supabase startThis starts local PostgreSQL, Auth, and Storage services. The default .env values point to these local services.
Run Database Migrations
bash
make db-migrateOr generate and push Drizzle migrations:
bash
cd packages/db && bun run generate
cd packages/db && bun run pushStart the Dev Server
bash
bun run devThe web app will be available at http://localhost:3000.
Run Tests
bash
bun run test # Vitest (792 tests)
bun run test:bun # bun:test (254 tests)
bun run test:all # All tests (1,046 total)Lint and Typecheck
bash
bun run lint # Lint and auto-fix with Biome
bun run lint:check # Lint without fixing
make typecheck # TypeScript type checkingUseful Commands
| Command | Description |
|---|---|
bun run dev | Start web app dev server |
bun run build | Build for production |
make db-studio | Open Drizzle Studio GUI |
make db-generate | Generate Drizzle migration files |
make help | Show all Makefile targets |
Project Structure
rankhub_app/
apps/
web/ # SolidStart frontend + API
do-worker/ # Cloudflare Durable Objects worker
packages/
engine/ # Glicko-2 rating engine
db/ # Drizzle ORM + schema
scripts/ # Build and deployment scripts
tests/ # Integration testsReporting Issues
Report bugs and feature requests on the Forgejo issue tracker.