Real-Time Online Voting System Using Python and Flask is a web-based voting application featuring voter registration, secure login, candidate management, election session control and live vote counting. Built with Flask, Flask-SocketIO and SQLite, it broadcasts voting results instantly without requiring a page refresh and includes role-based access for administrators and voters.
The Real-Time Online Voting System Using Python and Flask, also known as VoteLive, is a web application designed to demonstrate digital voting and live election result management. It allows registered voters to participate in an active election while administrators manage candidates, voter accounts and election sessions through a dedicated dashboard.
The application uses Python, Flask, Flask-SocketIO and SQLite. Its main highlight is real-time vote counting: when a voter submits a vote, updated results are broadcast to connected browsers without requiring users to refresh the page.
This project is suitable for students who want practical experience with Python web development, database operations, authentication, role-based permissions and WebSocket-based communication.
Administrators can export final election results in CSV format for record-keeping and further analysis.
The administrator dashboard provides access to election statistics, candidate management, voter management and session controls. Administrators can start or stop voting, reset an election, change the election title and export final results.
Voters can create an account, sign in, view the available candidates and cast a vote while the election is active. The application enforces one-vote-per-voter rules and displays updated results through its live results interface.
The SQLite database contains records for users, candidates, votes and election settings. User records include role and voting-status information. Candidate records store candidate details and photographs, while vote records associate a voter with a selected candidate and timestamp. Settings maintain information such as the election title and active session status.
This project is an educational voting application. It should not be treated as a certified election platform for public or legally binding elections without independent security assessment, identity verification, privacy protections, accessibility testing and appropriate auditing.
Watch Real-Time Online Voting System Using Python and Flask Demo
1. Install Python 3.x and Visual Studio Code on your computer. 2. Extract the project files and open the project folder in VS Code. 3. Open the integrated terminal in the project directory. 4. Create a virtual environment using: python -m venv venv 5. Activate the environment on Windows using: venv\Scripts\activate 6. Install the required packages using: python -m pip install -r requirements.txt 7. Check that the project configuration and required dependencies are available. 8. Run the application using: python run.py 9. If port 5000 is already in use, run the application with a custom port using: python run.py 5001 10. Open http://127.0.0.1:5000/ in your browser, or use the configured custom port. 11. Sign in with the default administrator credentials documented by the source: username admin123 and password admin123. 12. Change the default administrator password before using the application beyond a local demonstration. 13. Add candidates and configure the election title through the administrator workspace. 14. Start the election session from the administrator dashboard. 15. Register a voter account and sign in from a separate browser or private browsing window. 16. Cast a vote and verify that the live results update without refreshing the page. 17. Stop the election session and verify that ballot access is disabled. 18. Export the final election results as a CSV file when required.
FAQ for this project coming soon.
No reviews yet. Be the first to review!