AT A GLANCE
Loading PUC data…
📋 Report Card Search
Quick-look up any student
Type a name or URN to look up a student's report card
Total Students
—
Avg Attendance
—
Absentees <75%
—
Critical <65%
—
Classes
8
Last Scraped
—
Calendar of Events
Class Overview
Loading…
Attendance Distribution
Loading…
📡 Live Class Board
⏰ Period-wise Absent — Yesterday
STUDENTS
Search and view individual attendance records
Sort: # ↑
ALL
1PUC-COM-A
1PUC-COM-B
1PUC-COM-C
2PUC-COM-A
2PUC-COM-B
2PUC-COM-C
1PUC-SCI-A
2PUC-SCI-A
CLASSES
Click any class to view detailed attendance breakdown
Loading…
ABSENTEES
Students below 75% attendance threshold
ALL
1PUC-COM-A
1PUC-COM-B
1PUC-COM-C
2PUC-COM-A
2PUC-COM-B
2PUC-COM-C
1PUC-SCI-A
2PUC-SCI-A
📄 LETTERS HUB
All students with pending leave letters · manage from one place
ABSENT REPORT
All classes — students with attendance shortage · uses last scraped data
📊 Shortage Report
⏰ Period-wise Absent
%
DATE REPORT
Who was absent on a specific date · reads from Firebase daily snapshots
REPORT CARD
Full per-student subject breakdown
Loading…
INTERNALS — IA MARKS
Internal Assessment marks · AY 2026-27 · click student row to open card
Pass ≥
Loading internals…
SSLC (10th) MARKS
1PUC students only · enter Obtained Total & Grand Total per student · % auto-calculated
Auto-save: ON
Loading students…
RESULTS — MARKS
Annual Examination · AY 2025-26 · click student name to open card
STREAM:
Pass ≥
👨🏫 ASSIGN FACULTY FOR PREVIOUS YEAR RESULTS (click to expand)
Assign faculty per subject per section for AY 2025-26. Select section then assign faculty.
Loading marks…
MERIT / SCHOLARSHIP
Academic Excellence Merit Scholarship — click a student to view their record
SORT:
MIN % TO QUALIFY
₹5000 AT ≥%
₹3000 AT ≥%
₹2000 AT ≥%
CEREMONY DATE
TIME
VENUE
SUBJECT MAP
Map subject codes to display names and assign faculty — dropdowns populate from Faculty tab
ALLOCATION — 2026-27
Manually assign faculty per subject per section · saved to Firebase
CODES AUTO-DISCOVERED FROM SCRAPED DATA · ENTER NAMES TO DISPLAY
Loading…
FACULTY
Manage faculty details — names here appear in Subject Map dropdowns
Loading…
📋 Remedial Attendance
Manual attendance for remedial classes — faculty allocation, weekly schedule, roster auto-synced from IA fail-lists.
➕ Create Faculty Login
Pick from faculty already added in the app's Faculty tab. Not there? Add them under Faculty first.
Loading faculty accounts…
My Dashboard
Subject overview + remedial attendance for .
At a Glance
My Timetable
Remedial Attendance
📝 Internal Marks
All tests for your class, side by side.
Loading…
📊 Attendance Report
Classes taken vs attended per student. Click a row for the date-wise card.
VIEW
SUBJECT
CLASS
Loading…
📝 Follow-up Log
Student follow-ups, parent visits & class-wide issue tokens. All staff can raise issues. Close tokens: admin/manager/VP only for class issues.
–
🔴 Open
–
🟠 Overdue
–
🟢 Closed
–
📋 Total
Loading follow-up records…
DOWNLOADS
Photo upload status by class section
📅 COM TIMETABLE
2nd PUC Commerce — Manage period config and weekly grid
History:
No timetable loaded — click New Timetable to create one
or select from History above.
or select from History above.
SUBJECTS →
📖 ENG
📈 ECO
💼 BS
🧾 ACC
💻 CS
🔤 KAN/HIN
📊 STATS
☕ BREAK
SCI TIMETABLE
Science stream — variable slot durations (1hr / 1.5hr / 2hr), break as a dedicated slot
History:
No timetable loaded — click New Timetable to create one
or select from History above.
or select from History above.
SUBJECTS →
📖 ENG
📈 ECO
💼 BS
🧾 ACC
💻 CS
🔤 KAN/HIN
📊 STATS
☕ BREAK
⚡ VERIFY DATA
Compare Firebase
puc_daily against live Rovelabs portal — per student, per subjectCLASS
DATE
⚙️ ADMIN SETTINGS
Customise default behaviours for all staff
📅 Session Configuration
Commerce and Science are configured completely separately — each stream has its own session
dates, holiday list and working-days total, matching their separate Academic Calendars.
Pick a stream, then a year, fill in dates and holidays, and save.
WORKING DAYS CALCULATOR
Set both dates to calculate.
EXTRA HOLIDAYS (from calendar or manual)
Carry forward from a previous year — copies that year's Academic Calendar,
Timetable and Faculty Allocation into this year as a starting template.
Dates shift forward automatically by the year difference; you then edit only what changed.
Default Tab on Student Card Click
Choose which tab opens first when any student card is clicked anywhere in the app.
ℹ The "Default Tab" choice above is saved locally on this device.
Each device/browser used by staff will need to be configured separately.
Each device/browser used by staff will need to be configured separately.
Session Dates (1PUC / 2PUC · Commerce / Science)
Start date = first day attendance is taken for that class (set automatically the first time attendance is recorded; admin can edit/override here).
End date = each stream's "Last Working Day for Students" — editing it here updates that event in the Academic Calendar (1PUC and 2PUC have
their own independent end date even within the same Commerce/Science calendar). Both fields are saved to Firestore (shared across all devices)
— saving here only writes a date if it actually changed, otherwise the existing Firestore value is left untouched.
IA Test Dates (1st – 5th Test)
When each Internal Assessment test was conducted. Once set, the date range shows automatically in the student card's IA Results
header (e.g. "Conducted: 03 Aug – 07 Aug 2026"). Leave From/To blank to hide the line for that test. Saved to Firestore (shared
across all devices).
EXCEPTION SUBJECTS
Subjects listed here are hidden from Results sheet (e.g. extra-curricular, activity subjects)
EXCEPTION STUDENTS
Students listed here are fully hidden from all views for the current AY only. Remove to restore visibility.
MANUALLY ALLOCATED USNs
Students whose attendance-portal record has NO USN — admin gave them one manually
(hardcoded in PUC_MANUAL_USN_MAP in this file, and mirrored in faculty.html).
These USNs exist only inside our apps; the portal still shows them blank.
💬 Comments
Admin notes on students and faculty · private · visible only to admin
Loading…
📅 Academic Calendar 2026–27 · Commerce
Commerce Stream · Holidays and events for PUC Commerce classes.
Holidays marked here are used by the app to calculate expected working days for Commerce stream.
📅 Academic Calendar 2026–27 · Science
Science Stream · Holidays and events for PUC Science classes.
Holidays marked here are used by the app to calculate expected working days for Science stream.
⬡ DAVAN PU College · Attendance Scraper
PUC SCRAPER
01 · Portal Login
⚡ Auto-login enabled. Credentials are pre-filled. Click Login — calls AWS Cognito directly, gets a fresh token, and auto-refreshes before it expires.
Not logged in
01b · Lookback Window Settings
Controls how far back regular auto-scrapes will call
0 = no cutoff — corrects all dates from semester start. Higher = faster scrapes.
get_class_dates to correct session times.0 = no cutoff — corrects all dates from semester start. Higher = faster scrapes.
Presets:
Custom:
02 · Scrape Classes → Firebase
Login first
⏰ AUTO SCHEDULE
02b · Scrape Marks (Annual/Mid-Term/IA) → Firebase
Login first
Scrapes classwise_cie_detailed_report from academics portal.
Stores selected exam marks →
⚠ Before scraping marks: run
Stores selected exam marks →
puc_marks/2026-27/{exam}/{class}⚠ Before scraping marks: run
python puc_marks_proxy.py in a separate terminal.
04 · Backfill Missing Daily Snapshots
Auto-detects dates with no
Fetches each missing date from Rovelabs with the correct date range and pushes to Firebase.
puc_daily snapshot since semester start.Fetches each missing date from Rovelabs with the correct date range and pushes to Firebase.
Login first
🔧 RESTORE puc_students FROM SNAPSHOT
Finds the most recent
then writes those students back to
scrape wipes Commerce data (Rovelabs returns 0 on non-teaching days).
puc_daily snapshot where all classes have students,then writes those students back to
puc_students. Use this after an exam-dayscrape wipes Commerce data (Rovelabs returns 0 on non-teaching days).
🧹 CLEAN OLD SLOT DATA (FIREBASE)
Permanently removes duplicate/bundled slot entries from Firebase.
Keeps only the last slot entry per subject per date — the correct one.
Does NOT re-scrape. Safe to run anytime. Takes 1–2 min for all dates.
Keeps only the last slot entry per subject per date — the correct one.
Does NOT re-scrape. Safe to run anytime. Takes 1–2 min for all dates.
🗑 DELETE OLD DATES FROM FIREBASE
Permanently deletes date nodes before 10-Jun-2026 (old timetable era) from Firebase.
These dates are flagged red by the mismatch scanner because all-same-time detection fires on the old data structure.
After deletion they will never reappear — scraper only writes dates it fetches today, not old history.
Irreversible. Only delete if you no longer need old attendance records.
These dates are flagged red by the mismatch scanner because all-same-time detection fires on the old data structure.
After deletion they will never reappear — scraper only writes dates it fetches today, not old history.
Irreversible. Only delete if you no longer need old attendance records.
03 · Activity Log
● PUC Scraper
puc_students · Firebase RTDB
› Panel ready — click Login to begin
04 · Snapshot Key Fix
Move a snapshot stored under the wrong date key (e.g. midnight rollover bug)
FROM
TO
🗑️ DATA CLEANUP
Scans
OLD =
puc_daily/2026-27 and detects each date's format.OLD =
ca/ch (inaccurate, delete)
NEW = attended:A/P (accurate, keep)
📁
Click or drag & drop a photo
JPG / PNG / WEBP
BULK UPLOAD
Filename must be the student's URN (e.g.
U13DI25C0010.jpg).