How shotcrib77/dulolytics works
DuLOLytics takes two Riot IDs and a region, finds their shared League matches, computes a rough compatibility rating, and presents player profiles, score, and stat ratings with sharing. The graph follows the inspected search-to-results path and includes the documented Riot/Redis-backed data workflow. Other result-rendering details and integrations are represented only where supported by the excerpts or README; unsampled modules are not assumed to call one another.
Main entry points: StatsPageComponent.tsx Results view · riot.ts Riot data workflow · route.ts Duo API · SearchCard.tsx Duo search
Components 18
Search and results
- Duo search
app/components/SearchCard.tsx - Search page
app/page.tsx - Stats route
app/stats/page.tsx - Results view
app/components/StatsPageComponent.tsx - Player cards
app/components/PlayerCards.tsx - Compatibility score
app/components/PoroScore.tsx - Stat overview
app/components/StatsOverview.tsx - Share results
app/components/ShareButton.tsx - Share image
app/api/og/route.tsx
Duo analysis
- Duo API
app/api/duo/route.ts - Rating calculation
app/lib/duoStats.ts - Rating benchmarks
app/lib/constants.ts
Riot and cache
- Riot data workflow
app/lib/riot.ts - Cache wrapper
app/lib/cache.ts - Redis cache
app/lib/redis.ts
Other components
- Player
- Riot Games API
- Data Dragon
Connections 19
- Player → Duo search: enters duo
app/components/SearchCard.tsx - Search page → Duo search: renders
app/page.tsx - Duo search → Stats route: routes with IDs
app/components/SearchCard.tsx - Stats route → Results view: renders
app/stats/page.tsx - Results view → Duo API: fetches stats
app/components/StatsPageComponent.tsx - Duo API → Riot data workflow: requests analysis
app/api/duo/route.ts - Riot data workflow → Riot Games API: fetches player data
app/lib/riot.ts - Riot data workflow → Cache wrapper: caches API data
app/lib/riot.ts - Cache wrapper → Redis cache: reads and writes
app/lib/cache.ts - Riot data workflow → Redis cache: reads matches
app/lib/riot.ts - Riot data workflow → Rating calculation: calculates ratings
app/lib/riot.ts - Rating calculation → Rating benchmarks: rates against
app/lib/duoStats.ts - Duo API → Redis cache: counts searches
app/api/duo/route.ts - Results view → Player cards: renders profiles
app/components/StatsPageComponent.tsx - Results view → Compatibility score: renders score
app/components/StatsPageComponent.tsx - Results view → Stat overview: renders ratings
app/components/StatsPageComponent.tsx - Results view → Share results: offers sharing
app/components/StatsPageComponent.tsx - Share results → Share image: requests image
- Share image → Data Dragon: fetches icons
app/api/og/route.tsx