How mattias-wiberg/flipper-v2 works
Flipper helps Albion Online players identify profitable Black Market trades. Its main workflow ingests market orders, stores them in Supabase, then loads buy and sell orders, calculates base and upgrade-adjusted deals, and presents them in a filterable table. Users authenticate and can manage ingestion tokens. The README also documents optional Umami product analytics. Some routes and integrations are represented from documentation or the source index rather than inspected implementation excerpts; unverified links are omitted or dashed.
Main entry points: page.tsx Deals page · route.ts Order ingestion · login-form.tsx Login and signup · actions.ts Auth actions
Components 18
Authentication
- Login and signup
components/login-form.tsx - Auth actions
app/actions.ts - Auth callback
app/auth/callback/route.ts
Market Data
- Token settings
app/authenticated/token/page.tsx - Token tutorial
components/token-tutorial.tsx - Order ingestion
app/api/[token]/marketorders.ingest/route.ts
Deal Discovery
- Deals page
app/authenticated/deals/page.tsx - Deal calculation
lib/deals.ts - Upgrade costs
lib/upgradeCosts.ts - Deals table
app/authenticated/deals/components/data-table.tsx - Deal columns
app/authenticated/deals/components/columns.tsx
Product Surface
- Landing page
app/page.tsx - Product analytics
components/analytics.tsx
Other components
- Player
- Albion Data Client
- Supabase Auth
- Supabase data
- Umami
Connections 17
- Player → Login and signup: starts signup
- Login and signup → Auth actions: submits credentials
components/login-form.tsx - Auth actions → Supabase Auth: authenticates
app/actions.ts - Auth callback → Supabase Auth: exchanges code
app/auth/callback/route.ts - Player → Token settings: manages token
app/authenticated/token/page.tsx - Token settings → Token tutorial: shows guidance
app/authenticated/token/page.tsx - Albion Data Client → Order ingestion: submits orders
- Order ingestion → Supabase data: upserts orders
app/api/[token]/marketorders.ingest/route.ts - Order ingestion → Supabase data: validates token
app/api/[token]/marketorders.ingest/route.ts - Player → Deals page: views deals
app/authenticated/deals/page.tsx - Deals page → Supabase data: reads orders
app/authenticated/deals/page.tsx - Deals page → Deal calculation: calculates deals
app/authenticated/deals/page.tsx - Deal calculation → Upgrade costs: uses upgrade costs
lib/deals.ts - Deals page → Deals table: renders deal data
app/authenticated/deals/page.tsx - Deals table → Deal columns: uses columns
- Landing page → Login and signup: links signup
app/page.tsx - Product analytics → Umami: sends telemetry