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