Attendance Management System (AMS)
AMS is a mobile-first single-page web app that helps teachers manage class attendance quickly and reliably by saving attendance rows to their own Google Sheets. It supports multiple class accounts per email, easy student roster editing, fast daily marking, simple search/filter of records, and a persistent Day/Night theme — all optimized for phones and tablets.
Key Features
Sign Up
- Register with Email, Department (CSE / Civil / Electrical), Semester (1st–6th), Subject name, Google Sheet ID (where attendance will be saved) and Password.
- Important: Open your Google Sheet, click “Share”, and add hubattendance@gmail.com as Editor before signing up.
- The app verifies sheet access and ensures an Attendance tab exists. If access fails, a clear message explains what to do.
- Each sign-up creates a distinct class account (accountId). The same email can create multiple class accounts so one teacher can manage several classes independently.
Login + Account Picker
- Sign in with Email + Password.
- If multiple class accounts match the credentials, the app shows an account picker so you choose which class to open.
- On success you’re taken to the selected account’s dashboard and get a confirmation popup; on failure you’ll see an error popup.
First-Time Student Addition
- After creating or opening a class account for the first time, add your student roster (enrollment numbers and optional names).
- This one-time setup is quick; you can edit the roster later whenever needed.
Forgot Password
- Request a reset token by entering your email.
- The app lists accounts associated with the email so you select which account to reset.
- A reset token is generated and emailed (or returned for testing). Enter token + new password to reset.
Dashboard (per account)
- Displays Department · Semester · Subject at the top and a “Total classes” counter for that account.
- Central place for managing students, marking attendance, and searching/filtering saved records.
- All important actions show centered pop-ups for clear feedback.
Edit Students
- Edit mode displays the roster with editable fields for enrollment and name.
- Remove students via Remove, add new rows with + Add, and Save to persist changes.
- Save validates inputs, persists the roster, and returns to view mode with confirmation.
Attendance Management
- Roster-derived marking list defaults to Absent; tap a student’s button to toggle Present.
- Quick date selection; if no date is set, the current date is used.
- Save Attendance appends rows to the connected Google Sheet (Attendance tab) with Date, Department, Semester, Subject, Enrollment, and Status.
- The app enforces one-save-per-account-per-date so duplicate saves are prevented.
- Each successful Save increments the dashboard Total classes for that account (first save becomes 1, then 2, 3, …).
Search & Filter
- Search attendance by Enrollment number.
- Filter records by Present, Absent, or All.
- Results show full context: date, department, semester, subject, student, and status.
Day / Night Mode
- Toggle light/dark theme; the preference persists locally and respects OS preference by default.
UX & Reliability
- Mobile-first responsive layout with a narrow, centered card and large, tappable controls (matches phone screenshot proportions).
- Buttons show loading spinners and are disabled while server operations run to prevent duplicate actions.
- Clear centered popup messages for success, error, and confirmations.
- First-login helper opens the student editor automatically to speed setup.
Data & Storage (high level)
- Each class account is identified by an accountId and stores: accountId, email, password, department, semester, subject, sheetId, createdAt.
- Per-account student lists and reset tokens are stored server-side and used by the app to build marking lists and support password resets.
- Attendance records are written directly to the teacher-provided Google Sheet in the Attendance tab (created automatically if missing).
- Multiple accounts per email are supported; each account writes only to its configured sheet.
How to Use (quick start)
- Prepare a Google Sheet and share it with hubattendance@gmail.com as Editor.
Open the app and Sign Up:
- Provide Email, Department, Semester, Subject, Google Sheet ID, and a Password.
- Log In with your credentials.
- On first login, add students (Enrollment and optional Name) and Save.
- Use the Dashboard to Mark Attendance, then Save Attendance to append rows to your sheet. Total classes will increment each save.
- If you forget your password, use Forgot Password to request a token and reset your password.
Security & Recommendations
- Account data and per-account student lists are stored server-side. For production, enable secure password hashing and modern auth best practices.
- Ensure the deployment owner has access to the teacher sheets so the app can append attendance rows.
- Reset tokens are single-use and are emailed when mail services are available; when Mail is restricted, tokens can be surfaced for testing.
- Consider adding rate limiting, HTTPS enforcement, and audit logging before wide deployment.
AMS link web App