Skip to content

Implement Class Attendance Tracking Module #7

@markdav-is

Description

@markdav-is

Feature: Permaculture Training Attendance Tracking

Implement attendance tracking for permaculture training classes to determine tree distribution eligibility.

Priority: Medium

Tags: @workflow-attendance, @priority-medium

Module Requirements

  • Create Client/Modules/Attendance/ directory structure
  • Create matching Server-side components (Controller, Service, Repository)
  • Create Shared/Models/TrainingClass.cs and Shared/Models/ClassAttendance.cs models
  • Create bilingual resource files (en-ZA, ts-ZA)

Behavior Checklist

✅ Mark Attendance

  • Create/select training session (e.g., "PE Training Session 3")
  • Mark participant as present (e.g., "Mary Nkuna")
  • Increment attendance count (e.g., from 2 to 3)
  • Display "X of 5 classes completed"
  • Save attendance record with date

✅ View Attendance Status

  • View participant attendance record
  • Display classes attended (e.g., "5 of 5")
  • Display eligibility status
  • Show "Eligible for trees" when 5 of 5 completed
  • Show "X classes remaining" when incomplete

✅ Eligibility Logic

  • Require 5 classes for tree eligibility
  • Participant with 3 of 5: show "2 classes remaining"
  • Participant NOT marked as "Eligible for trees" until 5/5
  • Calculate and display eligibility automatically

✅ Class Management

  • Create training sessions
  • Name sessions (e.g., "PE Training Session 3")
  • Associate sessions with dates
  • Link participants to sessions

✅ Reporting

  • View attendance roster for a specific session
  • View participant's attendance history
  • Export attendance records

Technical Notes

  • Staff-only feature (not mentor mobile workflow)
  • Desktop/tablet friendly interface
  • Batch attendance entry option
  • Bilingual localization (en-ZA, ts-ZA)
  • Integration with Enrollment module for participant list

Related Feature File

Specs/Features/ClassAttendance.feature

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions