GeneralOverview article
Application Overview
The NNP Attendance Application is an internal, mobile-first web app for The New Neighbor Project. It lets administrators and volunteer teachers manage student attendance, assessments, classes, and reporting.
Core purpose
- Track student attendance across classes and semesters
- Record pre/post assessment scores and improvement metrics
- Generate funding reports with exports (Excel, PDF, CSV)
- Send branded transactional notifications and staff invites
- Maintain a complete audit trail without ever deleting data
User roles
| Role | What they can do |
|---|---|
| Administrator | Full visibility and editing; create classes/staff/semesters; run reports; trigger notifications. Cannot delete records — data is archived/inactivated instead. |
| Teacher | Take attendance, enter assessment scores, view their roster. |
| Volunteer Teacher | Same attendance/assessment abilities as a teacher. |
| Read-only | View students, classes, reports, and dashboards but cannot change data. |
Main data model
- Profiles / User Roles
- Authenticated users and their roles
- Semesters
- Terms with start/end dates (one can be active at a time)
- Classes
- Linked to a semester; supports recurring schedules, multiple days/times, program, level, location, format
- Teacher Classes
- Many-to-many assignment of teachers to classes
- Students
- Contact info with duplicate detection by email/phone
- Enrollments
- Historical student-class enrollment with start/end dates and transfer history
- Attendance
- One record per student per class per date (Present, Absent, Excused, etc.)
- Assessments
- Pre-test and post-test numeric scores per enrollment
- Holidays
- Excluded from attendance calculations
- Audit Log
- Tracks every create/update via triggers
- Notification Events / Preferences
- In-app and email notification pipeline
Key workflows
- Dashboard
- Shows today's/upcoming classes and which still need attendance submitted.
- Attendance
- Mobile-first roster with bulk actions; teachers mark status quickly.
- Students
- Directory with duplicate flags, profile pages showing class history and an attendance summary.
- Assessments
- Roster-based pre/post score entry; profiles display improvement percentages.
- Reports
- Submission status, attendance percentages by class/semester, attendance bands, and student-level records grouped by month.
- Notifications
- Admins stage notification rules (attendance overdue, assessment overdue, report available), preview the generated messages in a scrollable dialog, then confirm before sending.
- Administration
- Manage staff accounts, classes, semesters, audit log, and demo data.
Security & data policies
- All public tables use Row-Level Security.
- Roles live in a separate user_roles table, checked server-side.
- Sign-up is restricted to an admin-managed allowlist — no public registration.
- No record deletion; records are inactivated or archived.
- Every change is written to the audit log.
- Password reset and staff invite emails use branded templates on the verified custom domain.
Demo & installability
- A Demo Data Panel in Administration seeds realistic Fall 2026 data and provides demo credentials (e.g., a read-only demo viewer).
- Demo records are tagged with is_demo so they can be wiped cleanly.
