https://github.com/mohammedaoudi/android-roomdb-education-management
An Android application demonstrating Room Database implementation with clean architecture for educational management. Features DAO patterns, asynchronous data handling, and complete CRUD operations with a real-world educational use case. Built with Kotlin and Material Design.
https://github.com/mohammedaoudi/android-roomdb-education-management
android android-application dao education-management kotlin room-database sqlite
Last synced: 2 months ago
JSON representation
An Android application demonstrating Room Database implementation with clean architecture for educational management. Features DAO patterns, asynchronous data handling, and complete CRUD operations with a real-world educational use case. Built with Kotlin and Material Design.
- Host: GitHub
- URL: https://github.com/mohammedaoudi/android-roomdb-education-management
- Owner: Mohammedaoudi
- Created: 2024-11-02T21:49:22.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-12T13:47:34.000Z (over 1 year ago)
- Last Synced: 2025-01-24T12:16:03.805Z (over 1 year ago)
- Topics: android, android-application, dao, education-management, kotlin, room-database, sqlite
- Language: Kotlin
- Homepage:
- Size: 1.85 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ENSAJ Management Application
## Overview
This mobile application is designed for managing educational processes at ENSAJ using the Room library and DAO (Data Access Objects). The application provides a robust interaction with SQLite databases, supporting asynchronous communication for improved user experience in managing students, classes, and subjects.
## 🎯 Features
### 👨💼 Administrator Features
- Manage professors (CRUD operations)
- Manage classes and departments (CRUD operations)
- Handle modules associated with classes
- Manage students in each class
- View system statistics
- Associate professors with modules
### 👨🏫 Professor Features
- View list of modules to teach
- Access student lists by class
- Manage personal profile information
## 🛠️ Technologies Used
- Kotlin - Modern programming language for Android
- Room Database - Abstraction layer over SQLite
- Android Studio
- XML for layouts
- MPAndroidChart for statistics visualization
## 🎬 Demo
### Video Demo
[Click here to watch the demo video](https://github.com/user-attachments/assets/1155bc4f-1d23-4b3e-aef3-135cfb54e8f0)
## ⚙️ Technical Requirements
### Development Environment
- Android Studio
- Android SDK (API level 21 minimum)
- JDK 11 or higher
- Git for version control
### Hardware Requirements
- Processor: Intel Core i5/i7 or equivalent
- RAM: 8 GB minimum (16 GB recommended)
- Storage: 10 GB minimum
- Android Emulator or physical device (Android 5.0+)
## 📥 Installation
1. Clone the repository:
```bash
git clone https://github.com/Mohammedaoudi/Android-RoomDB-Education-Management.git
```
2. Open the project in Android Studio
3. Sync the project with Gradle files
4. Run the application on your device or emulator
## 📱 Application Architecture
### Database Structure
- Users (Administrators, Professors)
- Classes and Departments
- Modules and Subjects
- Students
- Academic Years and Semesters
### Key Components
- Room Database implementation
- DAO (Data Access Objects)
- Asynchronous data handling
- User interface with Material Design
## 🤝 Contributing
We welcome contributions to this project! Please feel free to submit issues and pull requests.