How mesh-ranker/app works
MeshRanker is an Android client for the МЭШ school platform. A student or parent signs in, the app resolves the student profile, then presents school data such as marks, homework, schedule, subjects, and rankings. MainActivity owns app navigation; MeshApi coordinates client access and session state, while MeshClient performs platform requests and MeshCore normalizes and computes domain data. The source index supports several delegation relationships, but unsampled modules and omitted code limit certainty about finer request flows.
Main entry points: MainActivity.kt App navigation · MeshClient.kt Platform client · MeshApi.kt API facade · SessionStore.kt Session storage
Components 21
App shell
- App navigation
app/src/main/java/ru/meshrating/app/MainActivity.kt
Sign-in
- School sign-in
app/src/main/java/ru/meshrating/app/SchoolLoginActivity.kt - Mesh login
app/src/main/java/ru/meshrating/app/MeshLoginActivity.kt - QR login
app/src/main/java/ru/meshrating/app/QrLogin.kt
Platform data
- API facade
app/src/main/java/ru/meshrating/app/MeshApi.kt - Platform client
app/src/main/java/ru/meshrating/app/MeshClient.kt - Domain processing
app/src/main/java/ru/meshrating/app/MeshCore.kt - Demo server
app/src/main/java/ru/meshrating/app/DemoMeshServer.kt
School views
- Profile
app/src/main/java/ru/meshrating/app/ProfileScreen.kt - Marks
app/src/main/java/ru/meshrating/app/MarksScreen.kt - Homework
app/src/main/java/ru/meshrating/app/HomeworksScreen.kt - Schedule
app/src/main/java/ru/meshrating/app/ScheduleScreen.kt - Subjects
app/src/main/java/ru/meshrating/app/SubjectsScreen.kt - Ranking
app/src/main/java/ru/meshrating/app/RankingScreen.kt - Settings
app/src/main/java/ru/meshrating/app/SettingsScreen.kt
Session and upkeep
- Session storage
app/src/main/java/ru/meshrating/app/SessionStore.kt - Token refresh
app/src/main/java/ru/meshrating/app/TokenRefreshWorker.kt - App startup
app/src/main/java/ru/meshrating/app/MeshApp.kt - Update checker
app/src/main/java/ru/meshrating/app/UpdateChecker.kt
Other components
- Student or parent
- МЭШ service
Connections 29
- Student or parent → App navigation: opens
app/src/main/java/ru/meshrating/app/MainActivity.kt - App navigation → School sign-in: launches
app/src/main/java/ru/meshrating/app/MainActivity.kt - App navigation → Profile: navigates
app/src/main/java/ru/meshrating/app/MainActivity.kt - App navigation → Marks: navigates
app/src/main/java/ru/meshrating/app/MainActivity.kt - App navigation → Homework: navigates
app/src/main/java/ru/meshrating/app/MainActivity.kt - App navigation → Schedule: navigates
app/src/main/java/ru/meshrating/app/MainActivity.kt - App navigation → Ranking: navigates
app/src/main/java/ru/meshrating/app/MainActivity.kt - App navigation → Settings: navigates
app/src/main/java/ru/meshrating/app/MainActivity.kt - School sign-in → App navigation: returns token
app/src/main/java/ru/meshrating/app/MainActivity.kt - App navigation → API facade: uses
app/src/main/java/ru/meshrating/app/MainActivity.kt - Profile → Platform client: fetches profile
app/src/main/java/ru/meshrating/app/ProfileScreen.kt - Marks → Platform client: loads marks
app/src/main/java/ru/meshrating/app/MarksScreen.kt - Homework → Platform client: loads homework
app/src/main/java/ru/meshrating/app/HomeworksScreen.kt - Schedule → Platform client: loads schedule
app/src/main/java/ru/meshrating/app/ScheduleScreen.kt - Subjects → Platform client: loads subjects
app/src/main/java/ru/meshrating/app/SubjectsScreen.kt - Ranking → Platform client: loads ranking
app/src/main/java/ru/meshrating/app/RankingScreen.kt - Settings → API facade: reads settings
app/src/main/java/ru/meshrating/app/SettingsScreen.kt - API facade → Platform client: builds client
app/src/main/java/ru/meshrating/app/MeshApi.kt - Platform client → Domain processing: normalizes data
app/src/main/java/ru/meshrating/app/MeshClient.kt - Platform client → МЭШ service: requests data
app/src/main/java/ru/meshrating/app/MeshClient.kt - API facade → Demo server: selects demo
app/src/main/java/ru/meshrating/app/MeshApi.kt - Demo server → Domain processing: uses paths
app/src/main/java/ru/meshrating/app/DemoMeshServer.kt - API facade → Session storage: reads session
app/src/main/java/ru/meshrating/app/MeshApi.kt - Ranking → Session storage: caches ranking
app/src/main/java/ru/meshrating/app/RankingScreen.kt - App startup → Token refresh: schedules refresh
app/src/main/java/ru/meshrating/app/MeshApp.kt - Token refresh → API facade: creates client
app/src/main/java/ru/meshrating/app/TokenRefreshWorker.kt - Token refresh → Session storage: saves token
app/src/main/java/ru/meshrating/app/TokenRefreshWorker.kt - Settings → Update checker: checks updates
app/src/main/java/ru/meshrating/app/SettingsScreen.kt - App navigation → Session storage: loads session
app/src/main/java/ru/meshrating/app/MainActivity.kt