WP Manifestindependent plugin directory
manifest / security / camesm-2026-secure-voting-wp-plugin

CAMeSM Secure Voting

Custom WordPress plugin for CAMeSM enabling secure, schedule-based voting with ID authentication, audit logging, and full admin control.

by Alexandros Kordatzakis · github.com/alexandros-kordatzakis/camesm-2026-secure-voting-wp-plugin · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/alexandros-kordatzakis/camesm-2026-secure-voting-wp-plugin/archive/refs/heads/main.zip

CAMeSM Secure Voting (WordPress Plugin)

Custom-built WordPress plugin used for managing live voting during CAMeSM 2026 (Cyprus Annual Medical Students Meeting).

Designed for controlled, time-restricted voting across roundtables and free-paper sessions, with a focus on integrity, auditability, and ease of use during a live event.


Overview

This plugin replaces generic voting tools with a system tailored to how CAMeSM operates:

  • ID-based voter authentication (no accounts required)
  • Voting only allowed during scheduled session windows
  • Strict vote limits per event and globally (for roundtables)
  • Full audit trail for every action

It is built to handle real-world constraints of a live conference environment.


Core Features

Authentication

  • Login using registration ID only
  • Session-based access with token validation
  • Login/logout and failure tracking (auth logs)

Voting System

  • Supports:
    • free_paper sessions
    • roundtable sessions
  • Voting is:
    • Time-gated (based on event schedule)
    • Limit-controlled (per event + global caps)
  • Duplicate voting for the same candidate is blocked

Event & Candidate Management

  • Create events with:
    • Start/end times
    • Vote limits
    • Event type
  • Assign candidates per event
  • Manual override:
    • Force live
    • Force closed

Admin Panel

  • Dedicated WordPress admin interface
  • Manage:
    • Voters
    • Events
    • Candidates
  • Bulk voter import via CSV
  • Full control over active/inactive states

Audit & Security

  • Every vote records:
    • Voter ID
    • IP address
    • User agent
    • Timestamp
  • Auth logs include:
    • Login attempts
    • Failures
    • Logout events
  • Tools to:
    • Delete votes (by event, voter, candidate, or individually)
    • Reset test data

Data Export

  • CSV export for:
    • Votes
    • Audit logs
  • Suitable for post-event validation and reporting

Frontend Integration

  • Shortcode-based rendering:
  • Clean UI styled via custom CSS

Architecture

  • Plugin bootstrap: :contentReference[oaicite:0]{index=0}
  • Database layer: :contentReference[oaicite:1]{index=1}
  • Frontend logic: :contentReference[oaicite:2]{index=2}

The system is split into:

  • Database management (custom tables for voters, sessions, votes, etc.)
  • Admin interface (WordPress dashboard)
  • Frontend voting portal (shortcode-rendered)

Database Design

Custom tables include:

  • voters – imported participants
  • sessions – login sessions with token hashing
  • events – voting sessions (roundtables / free papers)
  • candidates – nominees per event
  • votes – all submitted votes
  • auth_logs – login and authentication activity

Installation

  1. Upload the plugin folder or ZIP to WordPress
  2. Activate CAMeSM Secure Voting
  3. Navigate to the admin panel:
  • Events
  • Voters
  • Import
  1. Import your registration CSV
  2. Create events and assign candidates
  3. Add the shortcode to a page:

CSV Import

The importer attempts to map common fields automatically, including:

  • Unique ID
  • Name (First / Last)
  • Email
  • Institution
  • Payment status
  • IP / entry data

Usage Notes

  • Voting is only available while a session is live
  • Roundtables enforce:
  • Per-event limits
  • Global vote cap
  • Free-paper sessions enforce:
  • Per-block limits only

Limitations

  • Built specifically for CAMeSM workflows
  • Not intended as a general-purpose voting plugin
  • Assumes controlled environment (event-based deployment)

Author

Alexandros Kordatzakis
CAMeSM 2026 Workshops Coordinator / I.T. Specialist / Full-Stack Website Developer