chore: archive v2.2 User Experience Polish milestone
Phases 28-31 archived to milestones/v2.2-phases/ Requirements and roadmap snapshots archived to milestones/ Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -60,19 +60,21 @@ Help people make better gear decisions — discover what others use, compare rea
|
||||
- ✓ MCP catalog tools (upsert_catalog_item, bulk_upsert_catalog) for agent seeding — v2.1
|
||||
- ✓ Discovery landing page with catalog search, popular setups feed, recent items, trending categories — v2.1
|
||||
|
||||
- ✓ Profile page with Logto-powered account management (display name, bio, avatar, email, password, delete) — v2.2
|
||||
- ✓ Image fit-within framing with dominant color background fill and crop editor — v2.2
|
||||
- ✓ Catalog-driven onboarding flow with hobby picker, category-grouped item browser, and batch collection creation — v2.2
|
||||
- ✓ Mobile icon-based action buttons on detail pages — v2.2
|
||||
|
||||
### Active
|
||||
|
||||
## Current Milestone: v2.2 User Experience Polish
|
||||
## Current Milestone: v2.3 Global & Social Ready
|
||||
|
||||
**Goal:** Fix broken user-facing features and polish the experience for real users — working profiles, better image handling, refreshed onboarding, and mobile refinements.
|
||||
**Goal:** Make GearBox work for a global audience with setup sharing, multi-currency support, and localization infrastructure.
|
||||
|
||||
**Target features:**
|
||||
- Profile page with Logto integration for account management, branded login screens, email verification
|
||||
- Image fit-within framing (letterbox/pillarbox) instead of hard crops
|
||||
- Catalog-driven onboarding flow with visual refresh
|
||||
- Mobile UX improvements (icon actions, touch refinements)
|
||||
|
||||
**Next milestone:** v2.3 Global & Social Ready — setup sharing system, multi-currency, i18n
|
||||
- Setup sharing system with visibility toggle (private/link/public)
|
||||
- Multi-currency support (USD/EUR/GBP) with user preference
|
||||
- i18n foundation with translation framework and locale-aware formatting
|
||||
|
||||
### Future
|
||||
|
||||
@@ -96,19 +98,19 @@ Help people make better gear decisions — discover what others use, compare rea
|
||||
|
||||
## Context
|
||||
|
||||
Shipped through v2.0 with 23,970 LOC TypeScript across 210+ files. All milestones v1.0-v2.0 complete.
|
||||
Shipped through v2.2 with 31 phases across 6 milestones. All milestones v1.0-v2.2 complete.
|
||||
Tech stack: React 19, Hono, Drizzle ORM, PostgreSQL, TanStack Router/Query, Tailwind CSS v4, Lucide React, Recharts, framer-motion, all on Bun.
|
||||
Primary use case is bikepacking gear but data model is hobby-agnostic.
|
||||
Auth: External OIDC via Logto (browser sessions) + API keys (programmatic) + MCP OAuth (Claude).
|
||||
Infrastructure: PostgreSQL, MinIO (S3-compatible image storage), Docker Compose for dev/prod.
|
||||
Features: MCP server (21 tools), global item catalog with attribution and bulk import, user profiles, public setup sharing, catalog-driven gear flow, item/candidate detail pages, candidate ranking/comparison/impact preview. Public discovery landing page with catalog search, popular setups feed, recent items, and trending categories.
|
||||
Features: MCP server (21 tools), global item catalog with attribution and bulk import, user profiles with Logto account management, public setup sharing, catalog-driven onboarding, fit-within image framing with crop editor, item/candidate detail pages, candidate ranking/comparison/impact preview. Public discovery landing page with catalog search, popular setups feed, recent items, and trending categories. Top nav + mobile bottom tab bar.
|
||||
20+ test files (service-level, route-level integration, MCP). E2E tests pending rewrite for OIDC auth (backlog 999.1).
|
||||
|
||||
## Constraints
|
||||
|
||||
- **Runtime**: Bun — used as package manager and runtime
|
||||
- **Design**: Light, airy, minimalist — white/light backgrounds, lots of whitespace, no visual clutter
|
||||
- **Navigation**: Dashboard-based home page, not sidebar or top-nav tabs
|
||||
- **Navigation**: Top nav bar (desktop) + bottom tab bar (mobile), discovery landing page for unauthenticated users
|
||||
- **Auth**: External self-hosted provider — no in-house auth maintenance
|
||||
- **Database**: PostgreSQL with Drizzle ORM
|
||||
- **UGC**: Structured input only (ratings, predefined fields) — no freeform text until moderation exists
|
||||
|
||||
Reference in New Issue
Block a user