Skip to content

midhunann/AttendEase

Repository files navigation

AttendEase Logo AttendEase

Maximize your bunks! Skip as many classes as possible while maintaining at least 75% attendance.

Version License: MIT Chrome Web Store Published Firefox Add‑on – Published Edge Add‑on – Published

image
# Section
1 Overview
2 Motivation (Why)
3 How It Works
4 Key Features
5 Installation
6 Releases
7 Contributing
8 License

Overview

AttendEase is a browser extension designed for Amrita University students. It automatically scrapes attendance data from the official student portal and provides:

  • Bunkable Classes: Maximum lectures you can skip while maintaining at least 75% attendance.
  • Recovery Classes: Minimum lectures you need to attend if you’re below the threshold.

Access real-time stats through a floating widget or via the extension popup—no manual entry needed.


Motivation (Why)

In my first year, I built a simple HTML/CSS/JS tool with my friend Hemanth called CampusCalc to calculate attendance manually for any college. Although functional, it required manual entry for each course and was time-consuming.

AttendEase evolved from CampusCalc to:

  1. Automatically scrape attendance data directly from our portal
  2. Save significant time, so you can focus on studies or well-earned breaks
  3. Eliminate human error with robust parsing and validation logic
  4. Provide instant insights through an interactive floating widget and popup UI

How It Works

1. Content Script Injection
  • Targets URLs under https://students.amrita.edu/client/class-attendance*.
  • Injects content.js and styles.css into the attendance page.
2. Data Extraction
  • Robust Selectors: Multiple DOM queries plus MutationObserver to handle dynamic content.
  • Table Parsing: Extracts course code/name, total, present, duty leave, absent, medical leave.
  • Retry Logic: Polling and exponential backoff for slow-loading pages.
3. Calculations
  • Attendance % = (present + dutyLeave) / totalClasses * 100
  • Bunkable: Max classes you can skip to stay at or above 75%.
  • Recovery: Classes needed to reach 75% if below threshold.
4. User Interfaces
  • Floating Widget: Draggable, collapsible, remembers its position in localStorage.

  • Extension Popup: Card-based summary with color codes:

    • Safe (75% or above)
    • Warning (70–75%)
    • Danger (below 70%)
5. Storage & Updates
  • Caches parsed data in Chrome storage.local for instant popup rendering.
  • On popup open, fetches fresh data via message passing from content.js.
  • Designed for seamless updates—simply push new versions to respective extension stores.

Key Features

Feature Description
Automatic Scraping No manual entry—directly reads your portal’s attendance table.
Real-Time Calculations Instant bunkable and recovery numbers for each course.
Floating Dashboard Widget stays on-page, draggable and collapsible.
Extension Popup Quick summary in a popup UI with progress bars and status badges.
Minimal Permissions Only requests activeTab, storage, and host access to Amrita’s portal.
Cross-Browser Ready Architecture supports Chrome, Edge, and Firefox (pending publication).

Installation

  1. Clone the repository:

    git clone https://github.com/midhunann/amrita-attendease.git
  2. Load Unpacked Extension:

    • Chrome / Edge:

      1. Navigate to chrome://extensions (or edge://extensions).
      2. Enable Developer mode.
      3. Click Load unpacked and select the project folder.
    • Firefox:

      1. Go to about:debugging#/runtime/this-firefox.
      2. Click Load Temporary Add-on.
      3. Select any file in the folder (e.g., manifest.json).
  3. Open the Amrita attendance page—AttendEase will auto-activate.


Releases

Releases

AttendEase is officially published and available across all major browsers. You can install it directly from your preferred store:

Browser Platform
Chrome   Google Chrome Install from the Chrome Web Store
Firefox   Mozilla Firefox Install from Firefox Add-ons
Edge   Microsoft Edge Install from Microsoft Edge Add-ons

Contributing

Contributions are welcome! You can:

  • Report bugs or suggest new features via Issues.
  • Submit pull requests for enhancements—improve scraping logic, UI, accessibility, etc.
  • Enhance documentation with examples or clarify edge cases.

License

This project is licensed under the MIT License—see the LICENSE file for details.

© 2025 Midhunan Vijendra Prabhaharan

About

A browser extension that scrapes My Amrita Portal attendance data and calculates safe bunks to maintain a 75% threshold. Available on Chrome, Edge, Brave, and Firefox — with FULL MOBILE ACCESS via Firefox. | 1000+ installs

Resources

Stars

Watchers

Forks

Contributors