Full-Stack BDE Electronic Voting System
The BDE Voting System digitizes the election workflow for the Student Union. It supports multiple simultaneous polls, student candidacies, and a secure voting process designed to enforce one vote per student.
Development was carried out in a collaborative Git workflow, with careful branch management to integrate contributions from different team members, including the administrative dashboard and poll management modules.
The authentication layer, implemented in authentification.php, separates access into three user roles:
demandes_bde has been validated for a specific poll.
PHP session variables were used to preserve security across pages and prevent unauthorized access to the administration dashboard.
The MySQL database was structured to protect the election process and keep the data consistent:
ON DELETE CASCADE automatically remove related votes and candidacies when a poll is deleted.projet.sql was designed with DROP TABLE IF EXISTS statements to support reliable testing and deployment.Moving from a local Linux Mint environment to live production was one of the main technical steps in this project:
config.php was adapted to use InfinityFree remote SQL hosts instead of localhost.vPanel and phpMyAdmin, while working around hosting restrictions such as the inability to run manual CREATE DATABASE commands in scripts.This project was built in a team environment on GitHub, so version control discipline was essential:
dashboard.php and projet.sql were resolved manually to preserve functionality.The project is fully deployed online and serves as a live demonstration of the system.
Live website: votebde.me
The final deployment required several technical adjustments:
projet.sql and importing it through the remote database interface