An offline test platform for Uzbekistan school students and university entrance exam (DTM) applicants
TestMarkaz works without an internet connection. Questions are downloaded to the device and the app runs fully offline. Each test consists of exactly 25 questions.
- 📶 Offline-first — works fully without internet
- 📝 25 questions — always exactly this number per test
- 🎯 4 test modes — by subject, grade range, random grade, fully random
- 🏫 16 subjects — all school subjects (grades 1–11)
- 🏆 DTM preparation — grade 9–11 packages
- 📊 Progress tracking — XP, streaks, weak topic detection
- Kotlin + Jetpack Compose + Material 3
- Room 2.6.1 (offline SQLite)
- Hilt (dependency injection)
- Navigation Compose
- Coroutines + Flow
TestMarkaz/
├── android/ # Native Kotlin Android app
│ └── app/src/main/kotlin/uz/testmarkaz/
│ ├── data/ # Room DB, entities, DAOs, MockDataSeeder
│ ├── domain/ # Models, UseCases
│ ├── di/ # Hilt modules
│ └── ui/ # Compose screens + ViewModels
└── docs/ # Architecture, API, UI/UX, roadmap docs
- Open the
android/folder in Android Studio - Run
./gradlew assembleDebugor press the Run button in the IDE - On first launch, 150+ mock questions are seeded automatically
Currently, 150+ Uzbek-language questions are seeded via MockDataSeeder.kt:
- Mathematics (grades 9, 10, 11)
- Physics, Chemistry, Biology (grade 9)
- English, Uzbek Language, History, Geography (grade 9)
Once real question books are available, MockDataSeeder.kt will be replaced with actual content.
All architecture, API, UI/UX, and roadmap docs are available in the docs/ folder.
TestMarkaz MVP v1.0 — 2024