How iphirix/pokeprice works
PokePrice is a Pokémon card price-tracking product with web and desktop clients. The main web workflow is to search cards or sealed products, add them to a collection or watchlist, and use portfolio and pricing features to track value. Other product areas include card-show listings, trades, activity, alerts, account settings, and a Pokédex. The sampled web code shows the tRPC entry point and search/add calls; unsampled router and desktop internals are represented only at paths supported by the tree.
Main entry points: route.ts tRPC endpoint · router.ts Application router · layout.tsx Web app · SealedSearchClient.tsx Sealed search
Components 25
Client applications
- Web app
apps/web/src/app/(app)/layout.tsx - Desktop app
apps/desktop/src/renderer/src/App.jsx
Discovery and collection
- Card search
apps/web/src/components/SearchClient.tsx - Advanced search
apps/web/src/components/AdvancedSearchClient.tsx - Sealed search
apps/web/src/components/SealedSearchClient.tsx - Card details
apps/web/src/components/CardDetailClient.tsx - Portfolio dashboard
apps/web/src/components/DashboardClient.tsx
Tracking and community
- Card shows
apps/web/src/server/routers/card-shows.ts - Trade service
apps/web/src/server/routers/trades.ts - Activity service
apps/web/src/server/routers/activity.ts - Profiles and settings
apps/web/src/server/routers/profiles.ts - Price alerts
supabase/functions/check-alerts/index.ts - Price refresh
supabase/functions/refresh-prices/index.ts
Web service
- Portfolio service
apps/web/src/server/routers/portfolio.ts - Card service
apps/web/src/server/routers/cards.ts - tRPC endpoint
apps/web/src/app/api/trpc/[trpc]/route.ts - Application router
apps/web/src/server/router.ts - Price service
apps/web/src/server/routers/prices.ts - Desktop backend
apps/desktop/src-tauri/src/lib.rs
Data and integrations
- Supabase client
packages/database/src/client.ts - Pokémon data package
packages/pokemon/src/index.ts - Show data package
packages/card-shows/src/index.ts
Other components
- Collector
- Supabase
- TCGdex
Connections 29
- Collector → Web app: uses
- Collector → Desktop app: uses
- Web app → Card search: opens
- Web app → Advanced search: opens
- Web app → Sealed search: opens
- Web app → Portfolio dashboard: opens
- Card search → tRPC endpoint: queries cards
- Card search → tRPC endpoint: adds card
- Advanced search → tRPC endpoint: queries cards
- Advanced search → tRPC endpoint: adds card
- Sealed search → tRPC endpoint: queries products
- Sealed search → tRPC endpoint: adds product
- Sealed search → tRPC endpoint: reads profile
- Card details → tRPC endpoint: loads details
- Portfolio dashboard → tRPC endpoint: loads portfolio
- tRPC endpoint → Application router: dispatches
- Application router → Card service: routes cards
- Application router → Portfolio service: routes portfolio
- Application router → Price service: routes prices
- Application router → Card shows: routes shows
- Application router → Trade service: routes trades
- Application router → Activity service: routes activity
- Application router → Profiles and settings: routes profiles
- Card service → Pokémon data package: uses Pokémon data
- Card shows → Show data package: uses show data
- Desktop app → Desktop backend: invokes backend
- Supabase client → Supabase: connects
- Price alerts → Supabase: checks alerts
- Price refresh → Supabase: refreshes prices