Jean-Luc Makiola 2aa156a6b7 feat(34-02): extract hardcoded strings from modals, routes, and catalog
- AddToCollectionModal: all labels, placeholders, toast messages
- collection/index.tsx: tab labels (Gear/Planning)
- threads/$threadId/index.tsx: thread detail page and AddCandidateModal
- items/$itemId.tsx: back links, action buttons, field labels, metadata
- setups/$setupId.tsx: all setup detail strings and confirm dialog
- users/$userId.tsx: public profile page strings
- global-items/index.tsx: discover/catalog filter UI strings
- Added catalog.json namespace (en + de) and registered in i18n.ts
- Extended en/de threads, setups, collection, common locales with missing keys
2026-04-18 14:01:09 +02:00
2026-04-09 15:18:36 +02:00
2026-03-14 20:07:01 +00:00

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

  1. Install dependencies:

    bun install
    
  2. Copy and configure environment:

    cp .env.example .env
    # Edit .env with your service URLs and credentials
    
  3. Start the development servers:

    bun run dev
    

    Starts both the Vite frontend (port 5173) and Hono backend (port 3000).

Open http://localhost:5173 in your browser.

Commands

  • bun run dev — Start dev servers (frontend + backend)
  • bun run build — Build production assets
  • bun test — Run tests
  • bun run lint — Lint with Biome
  • bun run db:generate — Generate Drizzle migrations after schema changes
Description
No description provided
Readme Apache-2.0 6.2 MiB
v1.4.3 Latest
2026-04-04 09:19:40 +00:00
Languages
TypeScript 73.1%
HTML 26.7%
Shell 0.1%