The official DAV Jehanabad website features a list of daily birthdays, which is a great way to celebrate students. However, this information is temporary—once the day is over, the list is gone forever. This makes it impossible to check a birthday you might have missed or to plan for upcoming celebrations.
The Birthday Data Master was created to solve this simple problem. It enhances the school's feature by turning the fleeting daily list into a permanent, searchable, and useful archive for the entire school community.
How It Works: The Full Story
The application is split into two parts: a silent Backend that gathers data and a fast Frontend that you interact with.
Part 1: The Backend (The Automated Data Engine)
The backend's only job is to get fresh data, clean it, and prepare it once a day. This entire process is automated using GitHub Actions.
Automated Trigger: Every day at 11:00 AM IST, GitHub Actions automatically runs a Python script.
Data Scraping: The script visits davjehanabad.in and downloads the raw HTML code of the birthday page.
Formatting: A second script reads this messy HTML, intelligently extracts only the student names, classes, and dates, and neatly organizes this information into a single, clean Excel file (`.xlsx`).
Part 2: The Frontend (The Interface You Use)
The frontend is designed for speed. It does all the work right inside your browser (client-side processing).
Fetching Data: When you open the page, your browser quickly fetches the single Excel file prepared by the backend.
In-Browser Processing: Using a JavaScript library (XLSX.js), your browser reads the Excel file and builds the table you see on the screen—all without needing a server.
Instant Search: Since all the data is already in your browser, searching is instantaneous. The app filters the local data and redraws the table with zero delay.