PUC
ADMIN
🏛 Principal login
Admin: username + password below
👤 Faculty? Use the faculty app →
—
← Degree App
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
# ↑ Name URN Class Avg % Subjects Status
Loading…
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
# Name URN Class Avg % Subjects Below 75% Max Shortage ↓ WhatsApp
Loading…
📄 LETTERS HUB
All students with pending leave letters · manage from one place
# Student Class Absent Dates ⚠ Pending ✅ Received 📞 Phone Action
Loading…
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 Subject Dashboard
Loading…
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.
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.
SUBJECTS → 📖 ENG 📈 ECO 💼 BS 🧾 ACC 💻 CS 🔤 KAN/HIN 📊 STATS ☕ BREAK
⚡ VERIFY DATA
Compare Firebase puc_daily against live Rovelabs portal — per student, per subject
CLASS
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.
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.
Date Day Type Event For
Loading…
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.
Date Day Type Event For
Loading…
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 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 → 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 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 puc_daily snapshot where all classes have students,
then writes those students back to puc_students. Use this after an exam-day
scrape 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.
🗑 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.
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 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).