A website for StuyPulse members to track their attendance.
For documentation, visit this link.
The kiosk's attendance CSV can include graduation_year. The scanner endpoint reads
CSV column headers, so exports with or without that optional column are supported.
Years must be between 1900 and 2200. A blank or omitted year preserves the member's
existing year. The dashboard shows the year with the member's name (for example,
Jane Doe, Class of 2028); members without a year display only their name.
The live mypulse database migration add_attendance_graduation_year adds:
alter table public.attendance
add column graduation_year smallint
check (graduation_year between 1900 and 2200);Run the scanner import regression tests with node --test tests/kiosk-import.test.mjs.
npm run devstarts the site locally.npm testruns every test intests/.npm run formattidies the code with Prettier.npm run format:checkonly reports what would change.
scripts/mock-supabase.mjs serves made-up members and meetings, so the UI can be checked without touching live data. See the top of that file for the commands and logins.