Skip to content

Surajkumar5050/final_year_major_project

Repository files navigation

EduSync Banner

EduSync: Enterprise Academic Management System

Android (Java) | Firebase Realtime | RBAC Security | Excel Synchronization


Apache POI MPAndroidChart

View FeaturesScreenshotsArchitectureSetup


🚀 Project Overview

EduSync is a full-stack Android application designed to digitize the administrative and academic lifecycle of a B.Tech college. It replaces fragmented manual processes with a unified, role-based mobile ecosystem.

The system utilizes Firebase as a serverless backend to ensure real-time synchronization of chat, attendance, and notices across thousands of concurrent users. It features complex logic for timetable automation (Excel parsing) and live class tracking.


💎 Key Features

Module Description
🔐 RBAC Security Secure, separated login flows for Students, Teachers, and Admins.
📅 Live Timetable Real-time home screen indicator showing Current Subject & Teacher based on time/day.
📊 Analytics Visual attendance reports using MPAndroidChart (Semester/Year/Branch wise).
📂 Excel Sync Admins can upload bulk timetables via .xlsx files using Apache POI.
💬 Global Chat Hierarchical chat rooms: Class-wise, Semester-wise, and Admin-Staff channels.
☁️ Cloud Storage Teachers upload PDFs (Notes/Assignments); Students download directly to local storage.

📸 UI Showcase

1. Onboarding & Authentication


Role Selection

Secure Login

Student Register

Teacher Register

2. Student Dashboard & Academics


Home (Live Schedule)

Profile Management

Weekly Timetable

Notes Repository

3. Communication & Assignments


Group Chat System

Assignment Submission

Events & Notices

4. Admin Controls & Analytics


Excel Timetable Upload

Attendance Marking

Attendance Analytics

🛠 Technical Architecture

Logic: Live Class Indicator

The app executes a real-time check against the device's current timestamp and the synchronized Firebase JSON tree:

  1. Fetch: Branch -> Semester -> Day node.
  2. Compare: Current HH:MM vs. stored StartTime & EndTime.
  3. Render: If a match is found, the specific subject card is highlighted on the Home Fragment.

Logic: Excel Parsing (Apache POI)

To avoid manual entry of hundreds of classes:

  1. Admin uploads an .xlsx file.
  2. Apache POI iterates through rows (Time slots) and columns (Days).
  3. Data is serialized into a Java Object and pushed to FirebaseDatabase.getInstance().getReference("Timetable").

Dependencies (Gradle)

  • Core: androidx.appcompat, material:1.9.0
  • Backend: firebase-auth, firebase-database, firebase-storage
  • Image Loading: Glide 4.16.0, Picasso 2.71
  • Data Tools: Apache POI 5.4.1 (Excel), MPAndroidChart (Graphs)

💻 Installation

Click to expand setup instructions
  1. Clone the Repository

    git clone [https://github.com/Surajkumar5050/final_year_major_project.git](https://github.com/Surajkumar5050/final_year_major_project.git)
  2. Firebase Configuration

    • Create a new project on Firebase Console.
    • Enable Authentication (Email/Password).
    • Enable Realtime Database and Storage.
    • Download google-services.json and place it in the app/ directory.
  3. Build Project

    • Open Android Studio.
    • Go to File > Sync Project with Gradle Files.
    • Ensure JDK 11 is selected.
  4. Run

    • Connect device/emulator (MinSDK 26+ required).
    • Click Run (Shift+F10).

👤 Author

Suraj Kumar Sahoo

LinkedIn Gmail GitHub
Built with ❤️ for the B.Tech Community.

About

A comprehensive Role-Based Access Control (RBAC) Android platform engineered to digitize the B.Tech academic lifecycle. The system features a custom logic engine that parses .xlsx datasets to automate semester scheduling and a real-time event listener that dynamically updates student dashboards based on current server time.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages