A secure and user-friendly electronic voting system was developed for Anand International College of Engineering, Jaipur.
The E-Elections Portal is a web-based application designed to facilitate transparent and secure electronic voting for college elections. Built with Flask and modern web technologies, this system allows students and faculty to participate in various college elections remotely.
- Secure Authentication: Role-based access control with admin and voter roles
- Election Management: Create, schedule, and manage multiple elections
- Real-time Results: View election results with visual representations
- Candidate Management: Add and manage candidates for different positions
- Voter Verification: Ensure only eligible voters can participate
- Timezone Support: All timestamps displayed in IST (Indian Standard Time)
- Responsive Design: Works on desktop and mobile devices
- Backend: Python, Flask
- Frontend: HTML, CSS, JavaScript, Bootstrap 5
- Database: SQLite (can be configured for other databases)
- Authentication: Flask-Login
- Form Handling: Flask-WTF
- Time Management: pytz for timezone handling
-
Clone the repository:
git clone https://github.com/yourusername/e-election.git cd e-election -
Create and activate a virtual environment:
python -m venv venv # On Windows venv\Scripts\activate # On macOS/Linux source venv/bin/activate -
Install dependencies:
pip install -r requirements.txt -
Set up environment variables (optional but recommended for production):
# On Windows set SECRET_KEY=your_secure_secret_key set FLASK_APP=app.py set FLASK_ENV=development # On macOS/Linux export SECRET_KEY=your_secure_secret_key export FLASK_APP=app.py export FLASK_ENV=development -
Initialize the database:
flask db init flask db migrate -m "Initial migration" flask db upgrade -
Run the application:
python app.py -
Access the application at
http://127.0.0.1:5000
- Create Elections: Set up new elections with start and end times
- Manage Candidates: Add candidates to elections
- Monitor Voting: Track voter participation
- View Results: Access detailed election results
- View Active Elections: See all elections available for voting
- Cast Votes: Vote in active elections
- View Results: See results of completed elections
- All passwords are securely hashed
- CSRF protection enabled for all forms
- Session management with secure cookies
- Input validation and sanitization
- Protection against common web vulnerabilities
The system can be customized for different institutions by modifying:
- College logo and branding
- Election types and positions
- User roles and permissions
- Email templates for notifications
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Anand International College of Engineering, Jaipur for supporting this project
- Flask and its extensions for providing a robust framework
- Bootstrap for responsive design components
For any queries or support, please contact:
- Email: nileshkumar257777@gmail.com
