I’m going throw out some ideas, but overall it is outstanding and my main thoughts are about how to implement this. Mostly about whether I should have a local station or rely on students logging in on their own devices?
First, my additional thoughts about the time being correct and trust for students not to cheat the system. I wasn’t finding where times could be edited, if they are incorrect, so making that simpler/more apparent would be helpful. I’m used to timesheets (one for each date) so maybe organizing that way with a page that has for one day the students, logged time, etc.
and being able to go back by date, might let you easily see any time discrepancies. Having editable fields for time/date, so that several entries can be corrected at once (in the same thought, maybe backing up the data daily would be good for security reasons). I’m not sure, signed in (but not signed out) students show up in the Time Management tab, but if not, a “signed in” list would be useful.
Next, you’ve done well to make it customizable for teams. I am thinking without multiple schools, it might be interesting to re-purpose that for squads (small groups). “Schools” could be an editable label for such purposes. Letting you add/delete event categories is another customization you could add.
Furthering customization, I thought about how this would help track lettering requirements, which sometimes are attending a % of events, attending a % of subteam meetings, or possibly an event point system. For that you’d like to easily access the events attended, then maybe calculate the % of that event category attended. For user accounts, students could add a subteam which then it would show attendance % of those meetings. You could also add a point field to events to let that be specified. Making these easily seen for each student and also to have a “missing attendance” request for the events would mimic the missing hours request.