6931c33f73ae63a4f6895e127993c4a14cbd4698
- Add useAdminGlobalItems hooks: infinite query, detail query, update/delete mutations - Activate Items sidebar link in admin.tsx (replace disabled div with active Link) - Create /admin/items list page with table, infinite scroll, search, tag filters, skeleton - Create /admin/items/$itemId edit page with all fields, manufacturer dropdown, TagInput chip component - Delete confirmation dialog shows ownerCount impact message - routeTree.gen.ts updated with /admin/items and /admin/items/$itemId routes Closes ADMN-02, ADMN-03, ADMN-04 (client side)
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