Skip to content

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.

Notifications You must be signed in to change notification settings

Mohammedaoudi/Android-RoomDB-Education-Management

Repository files navigation

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

freecompress-ensajappmanagemnt.mp4

⚙️ 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:
git clone https://github.com/Mohammedaoudi/Android-RoomDB-Education-Management.git
  1. Open the project in Android Studio

  2. Sync the project with Gradle files

  3. 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.

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published