--Open CMD--
cd backend python -m venv venv source venv/bin/activate pip install -r requirements.txt
python -m pip install flask flask-cors mysql-connector-python pycryptodome python -m pip install numpy==1.26.4 python -m pip install opencv-contrib-python==4.9.0.80
--Verify environment (VERY IMPORTANT)--
python -c "import flask, numpy, cv2; print(flask.version); print(numpy.version); print(cv2.version); print(hasattr(cv2,'imdecode')); print(hasattr(cv2,'face'))"
--Result-- Flask version (e.g. 3.0.1) 1.26.4 4.9.0.80 True True
--Database Code--
CREATE DATABASE secure_voting;
USE secure_voting;
CREATE TABLE voters ( id INT AUTO_INCREMENT PRIMARY KEY, voter_id VARCHAR(50) UNIQUE NOT NULL, name VARCHAR(100) NOT NULL, face_filename VARCHAR(255) NOT NULL );
CREATE TABLE votes ( id INT AUTO_INCREMENT PRIMARY KEY, voter_id VARCHAR(50) NOT NULL, encrypted_vote TEXT NOT NULL, vote_hash VARCHAR(64) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (voter_id) REFERENCES voters(voter_id) );
CREATE USER 'votinguser'@'localhost' IDENTIFIED BY 'votingpass'; GRANT ALL PRIVILEGES ON secure_voting.* TO 'votinguser'@'localhost'; FLUSH PRIVILEGES;
SHOW DATABASES;
USE secure_voting;
SHOW TABLES;
DESCRIBE voters;
DESCRIBE votes;
SELECT * FROM voters;
SELECT voter_id FROM votes;
** Delete All Voter and Votes**
SET FOREIGN_KEY_CHECKS = 0; TRUNCATE TABLE votes; TRUNCATE TABLE voters; SET FOREIGN_KEY_CHECKS = 1;
--Run--
python app.py