A web-based interface for the Elector Name Comparison Tool that compares elector names between two Excel sheets (2025_LIST and 2002_LIST) using fuzzy matching.
- 🌐 Web-based interface - no command line needed
- 📤 File upload with drag-and-drop support
- ⚙️ Configurable similarity threshold (0-100%)
- 📊 Real-time statistics and results display
- 📥 Download results as Excel file
- 🎨 Modern, responsive UI
- Install the required dependencies:
pip install -r requirements_elector_comparison.txt- Start the Flask web server:
python app.py- Open your web browser and navigate to:
http://localhost:5000
-
Upload an Excel file containing:
- Sheet named
2025_LIST - Sheet named
2002_LIST - Each sheet must have columns:
Elector's NameandElector's Name(Vernacular)
- Sheet named
-
Set the similarity threshold (default: 85%)
-
Click "Process Comparison" and wait for results
-
View results in the browser or download the complete Excel file
- Format: .xlsx or .xls
- Maximum size: 50MB
- Required sheets:
2025_LIST2002_LIST
- Required columns in each sheet:
Elector's NameElector's Name(Vernacular)
The application can be configured by modifying app.py:
- Port: Change
port=5000in theapp.run()call - Host: Change
host='0.0.0.0'tohost='127.0.0.1'for local-only access - Max file size: Modify
MAX_CONTENT_LENGTH(default: 50MB) - Debug mode: Set
debug=Truefor development (default: True)
For production deployment, consider:
- Using a production WSGI server (e.g., Gunicorn, uWSGI)
- Setting
debug=False - Using environment variables for configuration
- Implementing proper authentication/authorization
- Setting up HTTPS/SSL
- Using a reverse proxy (e.g., Nginx)
Example with Gunicorn:
pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:5000 app:app- File upload fails: Check file size (max 50MB) and format (.xlsx or .xls)
- Sheets not found: Ensure sheet names are exactly
2025_LISTand2002_LIST - Columns not found: Verify column names match exactly (case-sensitive)
- Processing slow: Large files may take several minutes to process
Same as the main project.