TrueBallot

A Secure, Transparent, and Efficient E-Voting Platform powered by Modern Web Technologies.

Abstract

TrueBallot is a comprehensive electronic voting solution designed to modernize the electoral process. By utilizing a robust Spring Boot backend for security and data integrity, coupled with a dynamic React.js frontend for an intuitive user experience, TrueBallot ensures that every vote is cast securely, counted accurately, and results are published in real-time. This system eliminates common issues found in traditional paper ballots, such as counting errors, long wait times, and logistical complexities.

The Problem & Our Solution

Traditional voting methods are often plagued by inefficiencies, including slow manual counting, high costs, and susceptibility to human error or tampering. Furthermore, accessibility issues can prevent eligible voters from participating.

TrueBallot addresses these challenges by digitizing the entire workflow. It provides a secure platform where administrators can manage elections and candidates, while voters can cast their ballots from anywhere. The system leverages JWT authentication for security and relational databases for data consistency.

Project Objectives

Security & Integrity

Implement robust authentication (Spring Security + JWT) to ensure only eligible voters can vote exactly once.

Real-Time Efficiency

Automate the tallying process to provide instant, error-free election results immediately after polls close.

User Accessibility

Create an intuitive React-based interface that simplifies the voting experience for users of all technical levels.

Election Management

Provide comprehensive tools for administrators to create elections, manage candidates, and oversee the process.

Core Features

Secure Auth

JWT-based login ensures secure session management for all users.

Candidate Mgmt

Admins can easily add, update, or remove candidates for specific elections.

Live Results

Dynamic charts visualization for instant insight into election outcomes.

Responsive UI

Fully responsive design using Tailwind CSS that works on mobile and desktop.

System Architecture

+---------------------+       +----------------------+       +---------------------+
|   CLIENT LAYER      |       |    SERVER LAYER      |       |    DATA LAYER       |
| (React Frontend)    |       | (Spring Boot API)    |       |  (MySQL Database)   |
+---------------------+       +----------------------+       +---------------------+
|                     |       |                      |       |                     |
|  [ User Interface ] |       |  [ Auth Controller ] |       |  [ Users Table ]    |
|   - Login Page      |<----->|   - Login/Register   |<----->|                     |
|   - Voting Page     | HTTP  |                      | JDBC  |                     |
|   - Admin Panel     | JSON  |  [ Vote Controller ] |       |  [ Votes Table ]    |
|                     |       |   - Cast Vote        |<----->|                     |
|  [ State Mgmt ]     |       |   - Tally Results    |       |                     |
|   (Zustand/Context) |       |                      |       |  [ Elections Table ]|
|                     |       |  [ Security Config ] |       |                     |
+---------------------+       |   (JWT Filter)       |       +---------------------+
                              +----------------------+

Technology Stack

Backend (Server)

Java Spring Boot Core application framework & REST API
MySQL & Hibernate Relational database and ORM
Spring Security & JWT Authentication and Authorization

Frontend (Client)

React.js Component-based UI library
Tailwind CSS Utility-first styling framework
Axios HTTP client for API communication

Advantages

  • Transparency: Digital records reduce the risk of human error in counting.
  • Speed: Results are available almost instantly after the election concludes.
  • Scalability: Can handle small club elections or large organizational polls.

Limitations

  • Internet Dependency: Requires a stable network connection for the client-server architecture.
  • Device Requirement: Voters need access to a smartphone or computer.