The system
eVoting Pemira FTUI was an election system used in the Faculty of Engineering’s 2024 student election. I was responsible for the backend that supported the application’s core request and data flows.
Backend ownership
As lead backend engineer, I developed and deployed the Node.js, Express.js, and PostgreSQL backend. I also worked on the supporting operational pieces: caching, authentication, logging, and containerized deployment.
Request and data flow
The backend used PostgreSQL for persistent data, Redis caching for frequently accessed data, JWT authentication for protected flows, and Winston logging for operational visibility. The application was containerized and deployed with Docker Compose.
The implementation work required keeping request handling, authenticated access, data storage, and deployment concerns aligned. Those boundaries mattered because the system was used in an actual university election rather than existing only as a classroom prototype.
Deployment outcome
The deployed backend supported the 2024 election workflow. This page describes the architecture and my responsibilities without publishing sensitive election data or unsupported traffic claims.
What the project taught me
This project made the operational side of backend development tangible: a system’s value depends on how its authentication, logs, deployment, and data paths behave together when people rely on it.
How it works
A simplified view of the project. Select a stage for details.
Node.js and Express
The election application sends requests to the Node.js and Express backend.
JWT
JWT authentication protects the application’s restricted request flows.
PostgreSQL and Redis
PostgreSQL provides persistent storage. Redis supports caching where appropriate.
Docker and Winston
Docker Compose supports deployment, with Winston logs providing operational visibility.