Maximize your bunks! Skip as many classes as possible while maintaining at least 75% attendance.
| # | Section |
|---|---|
| 1 | Overview |
| 2 | Motivation (Why) |
| 3 | How It Works |
| 4 | Key Features |
| 5 | Installation |
| 6 | Releases |
| 7 | Contributing |
| 8 | License |
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.
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:
- Automatically scrape attendance data directly from our portal
- Save significant time, so you can focus on studies or well-earned breaks
- Eliminate human error with robust parsing and validation logic
- Provide instant insights through an interactive floating widget and popup UI
1. Content Script Injection
- Targets URLs under
https://students.amrita.edu/client/class-attendance*. - Injects
content.jsandstyles.cssinto the attendance page.
2. Data Extraction
- Robust Selectors: Multiple DOM queries plus
MutationObserverto 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.localfor 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.
| 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). |
-
Clone the repository:
git clone https://github.com/midhunann/amrita-attendease.git
-
Load Unpacked Extension:
-
Chrome / Edge:
- Navigate to
chrome://extensions(oredge://extensions). - Enable Developer mode.
- Click Load unpacked and select the project folder.
- Navigate to
-
Firefox:
- Go to
about:debugging#/runtime/this-firefox. - Click Load Temporary Add-on.
- Select any file in the folder (e.g.,
manifest.json).
- Go to
-
-
Open the Amrita attendance page—AttendEase will auto-activate.
AttendEase is officially published and available across all major browsers. You can install it directly from your preferred store:
| Browser | Platform |
|---|---|
| Install from the Chrome Web Store | |
| Install from Firefox Add-ons | |
| Install from Microsoft Edge Add-ons |
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.
This project is licensed under the MIT License—see the LICENSE file for details.
© 2025 Midhunan Vijendra Prabhaharan
