AGM Voting System
User Manual
Complete guide for all users of the KSFJB Annual General Meeting management system — from member check-in to admin election control.
System Overview
The AGM Voting System is a web application designed to manage the full lifecycle of the Kelab Sukan & Kebajikan Felda-Johore Bulkers (KSFJB) Annual General Meeting — from member attendance to election results and lucky draw.
User Roles
/attendance, /nominate, and /voting.AGM Workflow
1. Attendance Check-In
/attendanceEvery member must check in before they can nominate or vote. Attendance is verified using a TAC (Transaction Authorisation Code) provided by the meeting organiser.
- 1Open the attendance page — go to
/attendanceor scan the QR code displayed at the entrance. - 2Enter your Staff ID — type your staff ID number and click Verify Identity.
- 3Confirm "Enter AGM" — your name and workplace will appear. Click Enter AGM to proceed.
- 4Enter the TAC code — obtain the 6-digit TAC from the organiser and enter it. Click Confirm Attendance.
- 5Identity Verified — you will see a green checkmark. You can now proceed to vote or nominate candidates.
2. Nominate a Candidate
/nominateAfter checking in, members can submit one nomination per position. Each nomination supports a specific candidate for a specific role.
- 1Go to /nominate — or click Nominate Candidate from the attendance success screen.
- 2Unlock the ballot — enter your Staff ID and click Unlock Ballot.
- 3Browse open positions — positions you have not yet nominated for appear under Pending Action.
- 4Search for a candidate — type a name, staff ID, or department in the search box for the position.
- 5Select and submit — click on the candidate's name in the dropdown, then click Submit Nomination.
- 6Position moves to Completed — once submitted, that position locks for you. Repeat for remaining positions.
3. Cast Your Vote
/votingVoting is done position-by-position, controlled by the administrator. Only one position is open at a time.
- 1Wait for the voting session to open — the page shows "Voting is Currently Closed" until the admin activates it.
- 2Check your attendance status — you must have checked in (present) to see the voting form. Otherwise you'll see "Attendance Required".
- 3View candidates for the active position — the top nominees (by nomination count) appear as cards. Absent nominees are hidden.
- 4Click VOTE on your preferred candidate. For AJK positions, select up to 6 candidates then click Submit.
- 5Vote Recorded — a green confirmation appears. Wait for the admin to open the next position.
Access the admin dashboard at /dashboard after logging in with your admin account. The sidebar is organised into four sections.
Dashboard Overview
AdminThe Overview is the first screen on login. It shows live statistics and quick access to all key functions.
Members List
AdminView and manage all registered members. Search by name, staff ID, department, or workplace. Export the full list as PDF.
- → Search members by name, staff ID, department, workplace, designation, or position level
- → Edit individual member profiles (name, staff ID, department, workplace, designation, position level)
- → Delete a member record
- → Export full member list as PDF
- → View attendance status (present/absent) for the current session
Organisation Chart
AdminVisual representation of the club's current committee structure. Displays the existing club officials in hierarchical order.
- → View current office bearers grouped by position
- → Assign or update members to official positions
- → Remove members from positions
Manual Registration
AdminRegister a single new member by filling in their details manually.
Bulk Member Upload
AdminImport multiple members at once from a CSV or XLSX file.
- 1. Download the sample CSV template shown on the page
- 2. Fill in member data: Name, Staff ID, Department, Workplace
- 3. Upload the file and review the preview table
- 4. Click Import Members to complete the upload
Paperwork Manager
AdminCreate, manage, and export official AGM documents such as agendas, resolutions, and notices.
- → Create new documents with title, content, date range, and signature fields
- → Edit and update existing documents
- → Preview documents before exporting
- → Download as formatted PDF
- → Delete documents no longer needed
Meeting Settings
AdminThe central control panel for the AGM session. All timing and access controls live here.
Attendance List
AdminView all members and their attendance status for the current session.
- → See who is present and who is absent
- → Manually mark a member as present (for walk-ins without a device)
- → View check-in timestamp for each member
- → Export attendance list as PDF
- → Live count of present vs total members
Candidates (Nomination Management)
Admin OnlyView all nominated candidates grouped by position. Admins can also add candidates manually, disqualify nominees, and set eligibility overrides.
Nomination Leaderboard
AdminLive leaderboard showing the top 3 nominated candidates for each position, ranked by nomination count. Updates in real time as nominations come in.
- → Top 3 nominees per position with gold/silver/bronze ranking
- → Live nomination count and nominee eligibility status
- → AJK position shows top 6 nominees
- → Navigate to Archive & History to reset the leaderboard for a new session
Live Election Results
AdminReal-time election results by position. Displays a podium view (1st/2nd/3rd) for standard positions and a ranked list for AJK.
Lucky Draw
Admin OnlyAn animated spinning wheel that randomly selects prize winners from present attendees. Winners are excluded from future draws automatically.
/lucky-draw for projection on a large screen.
Archive & History
Admin OnlyAll reset actions are performed here. Data is never deleted — it is archived under a session label (e.g., AGM 23 May 2026) and remains searchable and exportable.
- 1. (Optional) Click Download Nominations PDF First to save a copy.
- 2. Click Archive Nominations — all active nominations are labelled with the session and the leaderboard clears.
- 1. (Optional) Click Download Results PDF First to save a copy.
- 2. Click Archive Election Results — all votes AND nominations are archived. The results board clears and members can nominate again for the next session.
Admin User Control
Admin OnlyPromote members to admin roles and manage existing administrators.
Manage Positions
AdminDefine the election positions that members can nominate and vote for.
- → Add new positions with a title
- → Set eligibility restrictions: required department and/or position level
- → Positions with restrictions will only show eligible members in the nomination search
- → Delete positions (removes associated nominations and votes)
- → Excluded titles (PENASIHAT, AJK, PENAUNG, PENYELARAS SUKAN) are hidden from the member nomination page
Departments & Workplaces
AdminMaintain the list of departments and workplaces used in member profiles and nomination eligibility checks.
- → Add and rename departments; rename propagates to all affected member records
- → Add and rename workplaces
- → Delete removes the label from all members who held it
Designations & Position Levels
AdminManage job designations (e.g., Pengurus, Jurutera) and position levels (e.g., Gred 11, Gred 29) that classify members for eligibility filtering.
- → Add, rename, and delete designations; rename propagates to all members
- → Add, rename, and delete position levels
- → Position levels are used in nomination eligibility rules for specific AGM positions
System Audit Trails
AdminA full log of all administrative actions performed in the system. Use this to trace who did what and when.