How sjunh812/ovalit works
Ovalit is a Valorant account and performance-tracking app: users link a Riot account, import match history, then explore match details, player profiles, weekly reports, and friends. Settings and onboarding round out the mobile experience. The tree shows matching client feature and repository modules, plus a Hono server with auth, Riot, content, friend, invite, and user routes. The README is empty and most implementation files were not sampled, so client-to-server wiring and unsampled feature internals are left unspecified.
Main entry points: OvalitApp.kt App entry · app.ts HTTP API · auth.ts Authentication routes · rso.ts Riot sign-in
Components 24
Mobile app
- App entry
composeApp/src/main/kotlin/com/ovalit/OvalitApp.kt
Player features
- Onboarding and import
shared/feature/onboarding/src/commonMain/kotlin/com/ovalit/feature/onboarding - Match history and detail
shared/feature/match/src/commonMain/kotlin/com/ovalit/feature/match - Player profile
shared/feature/profile/src/commonMain/kotlin/com/ovalit/feature/profile - Weekly reports
shared/feature/report/src/commonMain/kotlin/com/ovalit/feature/report - Friends and rivals
shared/feature/friend/src/commonMain/kotlin/com/ovalit/feature/friend - Preferences and account
shared/feature/settings/src/commonMain/kotlin/com/ovalit/feature/settings
Analytics and data
- Account and match repositories
shared/core/data/src/commonMain/kotlin/com/ovalit/core/data - Match and report calculations
shared/core/model/src/commonMain/kotlin/com/ovalit/core/model - User preferences store
shared/core/data/src/commonMain/kotlin/com/ovalit/core/data/DataStoreUserPreferencesRepository.kt
API server
- HTTP API
server/src/app.ts - Content routes
server/src/routes/content.ts - Public routes
server/src/routes/public.ts - Account routes
server/src/routes/me.ts - Riot routes
server/src/routes/riot.ts - Friend routes
server/src/routes/friends.ts - Invite routes
server/src/routes/invites.ts
Identity and Riot
- Authentication routes
server/src/routes/auth.ts - Riot sign-in
server/src/rso.ts - User records
server/src/users.ts - Session handling
server/src/session.ts
Other components
- Player
- Server database
- Riot services
Connections 23
- Player → App entry: uses
- App entry → Onboarding and import
- App entry → Match history and detail
- App entry → Player profile
- App entry → Weekly reports
- App entry → Friends and rivals
- App entry → Preferences and account
- App entry → User preferences store: reads theme
- HTTP API → Public routes: dispatches
- HTTP API → Content routes: dispatches
- HTTP API → Authentication routes: dispatches
- HTTP API → Account routes: dispatches
- HTTP API → Riot routes: dispatches
- HTTP API → Friend routes: dispatches
- HTTP API → Invite routes: dispatches
- Authentication routes → Riot sign-in: reads account
- Authentication routes → User records: upserts user
- Authentication routes → Session handling: creates session
- Authentication routes → Server database: reads and writes
- Authentication routes → Riot services: fetches identity
- Session handling → Server database: reads and writes
- User records → Server database: reads and writes
- Riot sign-in → Riot services: authorizes account