Android-Education is a mobile application designed to facilitate educational management for students, teachers, and administrators. The app provides features such as user authentication, role-based dashboards (admin, teacher, student), course management, task tracking, and user profile management. The application is structured with a clean architecture, using activities and fragments for modular UI, and leverages Room for local data persistence.
- User Authentication: Secure login and registration with password hashing (BCrypt).
- Role-Based Dashboards: Different dashboards for admins, teachers, and students.
- Course & Task Management: Add, edit, and view courses and tasks.
- Profile Management: Edit and view user profiles with image support.
- Material Design: Modern UI using Material Components.
- Local Database: Uses Room for storing user and course data.
- Permissions: Handles runtime permissions for notifications and phone calls.
- Language: Java (Android)
- Build System: Gradle (Kotlin DSL)
- Android SDK: Compile SDK 34, min SDK 27
- UI Frameworks: AndroidX, Material Components, ConstraintLayout, CardView
- Database: Room (androidx.room:room-runtime, room-ktx)
- Password Security: BCrypt (org.mindrot:jbcrypt)
- Testing: JUnit, AndroidX Test, Espresso
- Dependency Management: Version catalogs via
libs.versions.toml - View Binding: Enabled for type-safe UI access
app/src/main/java/com/iset/education/— Main application code (activities, fragments, viewmodels, utils)app/src/main/res/— Resources (layouts, drawables, menus, values)app/src/main/AndroidManifest.xml— App manifest and permissionsbuild.gradle.kts/app/build.gradle.kts— Build configurationgradle.properties— Gradle settings
- Open the project in Android Studio.
- Sync Gradle and let dependencies resolve.
- Build and run on an emulator or device (min SDK 27).