Participant management App

This app is designed to help organisations or programmes that need to manage attendance, training, activities and payments for thousands of people spread across multiple sites/projects and multiple work groups per site/project.


It is accessible via a user interface or a comprehensive REST API. It is built using Java, Apache Tomcat container, Spring Security implementation, ZKOSS RIA for user interface and MySQL for the database.

The app has been in production use by the Expanded Public Works Programme and Community Work Programme for five years. They use the app to manage records for 1 million participants associated with 166 sites across South Africa. Participants are organized into 11,000 work-groups for management purposes.

Participant registration

  • Register new participants onto the programme
  • Upload identification documents, bank account details and a participant photo
  • An optional two-stage approval workflow can be used when adding new participants, or changing details of existing participants
  • Verify the validity of South African identity numbers, (and soon to be introduced validity of Identity numbers and bank accounts with the bank)
  • Assign participants to a site or project. The participant may be limited to only be working in one site/project at a time

Training tracking

  • Manage a master list of courses and register new ones
  • Associate a training instance with a particular project or site
  • Assign participants to courses
  • Track skills development
  • Record monthly attendance 
  • Assign participants to work groups on the site / project that they are assigned to
  • Generate printable attendance registers
  • Capture the total number of days worked, and training done during the month in summary. (Individual days are not recorded in the manual system)
  • Capture the actual outputs for the work group as a whole, as the total number of labour days per month that the work group spent on the output
  • Validate that the output labour days matches the attendance register labour days


  • Integrates with mobile attendance app to enable tracking of daily attendance
  • Integrates with payments app to manage payroll and participant payments
  • Management Information System app to receive data on number of participants, their outputs and their attendance
  • Track allocation of tools and resources