Below are some screenshots of the StudyMate application showcasing its features and user interface:
| Screenshot 1 | Screenshot 2 | Screenshot 3 | Screenshot 4 |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
| Screenshot 5 | Screenshot 6 | Screenshot 7 | Screenshot 8 |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
StudyMate follows Clean Architecture with MVVM pattern and Hilt dependency injection.
app/ βββ core/ # Cross-cutting concerns β βββ crash/ # Global exception handling β βββ security/ # EncryptedSharedPreferences β βββ util/ # Resource wrapper, PasswordUtils βββ data/ # Data layer β βββ local/ # Room entities, DAOs, AppDatabase β βββ repository/ # Repository implementations βββ di/ # Hilt DI modules βββ domain/ # Domain layer β βββ repository/ # Repository interfaces β βββ usecase/ # Business logic use cases βββ presentation/ # UI layer (Jetpack Compose) β βββ auth/ # Login, Role Selection, Splash β βββ common/ # Reusable Loading/Error/Empty states β βββ dashboard/ # Admin, Faculty, Student dashboards β βββ navigation/ # NavHost, routes, bottom nav β βββ notices/ # Notice feed & management β βββ user/ # User directory & management β βββ ... # Academics, Chat, Library, Settings βββ ui/theme/ # Material 3 theming | Category | Technology |
|---|---|
| Language | Kotlin 2.2.0 |
| UI | Jetpack Compose + Material 3 |
| Architecture | Clean Architecture + MVVM |
| DI | Hilt (Dagger) |
| Database | Room |
| State | StateFlow / Coroutines |
| Security | EncryptedSharedPreferences, PBKDF2 password hashing |
| Navigation | Navigation Compose |
| CI/CD | GitHub Actions |
| Build | Gradle KTS with version catalog |
- Multi-role authentication β Admin, Faculty, Student with secure password hashing
- Dashboard β Live metrics from database for each role
- User management β Add, view, search, delete students and faculty
- Notices β Create, view, and manage institutional notices
- Academics β Timetable, grades, attendance tracking
- Responsive β Bottom nav (phone) / Nav rail (tablet) via WindowSizeClass
- Dark mode β Full light + dark theme with Material 3 dynamic colors
- Edge-to-edge β Modern immersive UI
- Android Studio Ladybug (2024.2.1) or later
- JDK 17
- Min SDK 26 (Android 8.0)
# Clone the repository git clone https://github.com/rajatt04/StudyMateAlpha.git # Open in Android Studio and sync Gradle # Build debug APK ./gradlew assembleDebug # Run unit tests ./gradlew test- Passwords hashed with PBKDF2WithHmacSHA256 (65536 iterations, 256-bit key)
- Session data in EncryptedSharedPreferences (AES-256)
- Network restricted to HTTPS only via network security config
- R8/ProGuard obfuscation enabled for release builds
- Log statements stripped from release builds
- Update
versionCodeandversionNameinbuild.gradle.kts - Run
./gradlew lintand fix all warnings - Run
./gradlew testand ensure all pass - Generate signed AAB via
./gradlew bundleRelease - Test on multiple screen sizes (phone + tablet)
- Verify dark mode compatibility
- Update
PRIVACY_POLICY.mdif data handling changed - Create GitHub Release with changelog
Rajat Kevat β GitHub Β· Portfolio
This project is licensed under the MIT License.







