23172f794f764f70dbc154d2808de4597b638263
- de/common.json: add home, imageUpload, profile sections (34 keys) - de/settings.json: add currency.suggestion, currency.switch, showConversions (4 keys) - de/threads.json: add card.candidates, card.candidates_one, planning section (11 keys) - de/setups.json: add card.by, card.anonymous, impact.compareWith (3 keys) - de/collection.json: add tabs.setups, totals, classificationBadge (6 keys) - Fixed JSON syntax error: replaced smart quotes in dangerZoneDescription with single quotes - All German text uses proper Unicode umlauts throughout - bun test tests/i18n/locales.test.ts: 19 pass, 0 fail
GearBox
A web app for managing gear collections (bikepacking, sim racing, etc.), tracking weight and price, and planning purchases through research threads.
Features
- Organize gear into categories with custom icons
- Track weight and price for every item
- Create setups (packing lists) from your collection with automatic weight/cost totals
- Research threads for comparing candidates before buying
- Image uploads for items and candidates
Deployment
GearBox is deployed via Coolify as a Docker image with separate services for dependencies.
Required services:
- PostgreSQL 16 — primary database
- Garage (or any S3-compatible storage) — image uploads
- Logto — OIDC authentication
GearBox image: gitea.jeanlucmakiola.de/makiolaj/gearbox:latest
See .env.example for required environment variables.
Updating
CI pushes a new Docker image on every release. Coolify auto-deploys when the image tag updates.
Database migrations run automatically on startup via entrypoint.sh.
Tech Stack
- Runtime & Package Manager: Bun
- Frontend: React 19, Vite, TanStack Router, TanStack Query, Tailwind CSS v4, Zustand
- Backend: Hono, Drizzle ORM, PostgreSQL
- Storage: S3-compatible (Garage, Cloudflare R2, AWS S3)
- Auth: OIDC via Logto
Local Development
Prerequisites
- Bun installed
- PostgreSQL, Logto, and Garage running (via Coolify test instance or locally)
Setup
-
Install dependencies:
bun install -
Copy and configure environment:
cp .env.example .env # Edit .env with your service URLs and credentials -
Start the development servers:
bun run devStarts both the Vite frontend (port
5173) and Hono backend (port3000).
Open http://localhost:5173 in your browser.
Commands
bun run dev— Start dev servers (frontend + backend)bun run build— Build production assetsbun test— Run testsbun run lint— Lint with Biomebun run db:generate— Generate Drizzle migrations after schema changes
Description