u Vote Secure Online Voting
BSc Computing Systems & Operations
4th Year Project — 2025/26

Secure, Accessible
Online Voting
for Small-Scale Elections

uVote is a microservices-based voting platform built on Kubernetes, featuring token-based voter authentication, blind ballot anonymity, SHA-256 audit logs, and zero-trust network policies.

Key Features
🔑

Token-Based Auth

Each voter receives a unique single-use token. No account needed — just scan and vote.

🕵️

Blind Ballot Anonymity

Votes are decoupled from voter identity at cast time, ensuring full ballot anonymity.

🔗

SHA-256 Audit Chain

Every action is recorded in a tamper-evident hash chain for full auditability.

🛡️

Zero-Trust Networking

Calico CNI enforces per-service network policies — services only talk to who they need to.

☸️

Kubernetes Platform

Deployed on Kind with Calico CNI, Nginx ingress, and automated provisioning scripts.

📬

Microservices Architecture

Six independent services: Auth, Election, Admin, Voter, Voting, and Results — each with its own database user.

Built With
Python FastAPI PostgreSQL Kubernetes Kind Calico CNI Docker Jinja2 JWT bcrypt GitHub Actions Nginx Ingress AWS S3
Demo Videos

Stage 1 — MVP

Initial development of the uVote application, showcasing core voting functionality and the foundational architecture.

Stage 2 — Kubernetes Platform

uVote running on a Calico-secured Kubernetes platform with enhanced logging, full observability via ELK, Prometheus & Grafana.

Meet the Team