Skip to content

rajatt04/StudyMate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

26 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š StudyMate

A production-ready student management system for educational institutions

Android CI/CD API Kotlin Architecture License


App Screenshots

Below are some screenshots of the StudyMate application showcasing its features and user interface:

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4
Image1 Image2 Image3 Image4
Screenshot 5 Screenshot 6 Screenshot 7 Screenshot 8
Image5 Image6 Image7 Image8

πŸ—οΈ Architecture

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 

πŸ› οΈ Tech Stack

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

✨ Features

  • 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

πŸš€ Getting Started

Prerequisites

  • Android Studio Ladybug (2024.2.1) or later
  • JDK 17
  • Min SDK 26 (Android 8.0)

Build & Run

# 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

πŸ” Security

  • 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

πŸ“‹ Release Checklist

  • Update versionCode and versionName in build.gradle.kts
  • Run ./gradlew lint and fix all warnings
  • Run ./gradlew test and ensure all pass
  • Generate signed AAB via ./gradlew bundleRelease
  • Test on multiple screen sizes (phone + tablet)
  • Verify dark mode compatibility
  • Update PRIVACY_POLICY.md if data handling changed
  • Create GitHub Release with changelog

πŸ‘€ Author

Rajat Kevat β€” GitHub Β· Portfolio

πŸ“„ License

This project is licensed under the MIT License.

About

🏫 Android ERP for educational institutions β€” role-based auth, live dashboards, academics & notices. ⭐ Star it. Fork it. Ship it.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages