Online Voting System – Secure Election Management Platform (MERN Stack Source Code)
Email OTP, Admin 2FA, Ranked-Choice Voting, Verifiable Receipts & Tamper-Evident Audit Log
Launch your own Online Voting / E-Election platform with this complete MERN stack source code. College, school, society, club, company aur union elections ke liye ready system. Ye sirf ek basic “vote button” demo nahi hai, balki ek real, white-label election software hai jisme security, audit aur result reporting sab included hai.
Perfect for:
- College and university student council elections
- Housing societies, clubs, associations and unions
- Companies and NGOs running internal polls and committee elections
- Agencies and freelancers delivering voting software to clients
- Final Year / Major Projects (BCA, MCA, B.Tech, M.Tech)
- Portfolio and resume projects
🚀 Key Features
🗳️ Election Management
- Create, edit and schedule elections with start and end date
- Three voting types: Single Choice, Multi-Select (with max selections) and Ranked-Choice (instant-runoff rounds)
- NOTA (None of the Above) option support
- Candidate profiles with photo, party, biography, manifesto and social links
- Group-based elections: restrict an election to a class, department or ward (for example BCA-3, Ward 12)
- Candidate nominations by voters, with admin review and approval
- Result visibility control: after election ends, live, or admin only
- Auto or manual result publishing, with a downloadable result certificate (PDF)
🔐 Security & Voter Verification
- Email OTP verification for registration
- Google reCAPTCHA protection
- Admin two-factor authentication (TOTP authenticator app)
- College ID upload and admin approval, with files encrypted at rest
- Account lockout after failed login attempts and login alerts
- Ballot secrecy by design: voter identity and chosen candidate are stored separately
- Random vote receipt with QR code, so a voter can verify the vote was counted without revealing the choice
- Tamper-evident audit log (hash chain) with a one-click integrity check
- Helmet, CORS, rate limiting and Mongo-sanitize protection
- Transaction-based vote casting to avoid duplicate or partial votes
👥 Roles & Voter Management
- 4 roles: Admin, Election Officer, Observer and Voter
- Open registration or invite-only mode (only voters imported by admin can join)
- Bulk voter import, block / unblock and group assignment
- Staff role management
📊 Results, Analytics & Reports
- Admin dashboard with election, voter and turnout statistics
- Per-election analytics
- Ranked-choice round-by-round results
- Reports and data export
- System health panel
📢 Notices & Notifications
- Notice board with read tracking
- Automatic email reminders: election started, ending in 24 hours and results published
- Delivery log with retry for failed emails
- Real-time updates with Socket.io
- Voter notification preferences
🎨 White-Label, Language & PWA
- Set your own app name, organization name, logo, brand color, support email and footer from settings
- Hindi and English interface with a language switch
- Installable PWA (manifest and service worker)
- Responsive design for mobile and desktop
🐳 Easy Deployment
- Docker and docker-compose files included (server + nginx client)
- Health check, persistent volume for private uploads
- Seed scripts for first admin and optional demo elections
- Automated smoke tests included
🛠️ Tech Stack
| Layer | Technology |
|---|---|
| Frontend | React 18, Vite, React Router, custom CSS (PWA ready) |
| Backend | Node.js, Express.js |
| Database | MongoDB + Mongoose |
| Authentication | JWT, bcrypt, Email OTP, TOTP 2FA, reCAPTCHA |
| Real-Time | Socket.io |
| Notifications | Nodemailer (SMTP Email) |
| Files & Documents | Multer (encrypted private uploads), PDFKit, QRCode |
| Deployment | Docker, docker-compose, Nginx |
📦 What You Will Get
- Complete React frontend source code (voter and admin panels)
- Complete Node.js + Express backend API
- All MongoDB models
- Seed scripts (admin account and demo elections)
- Docker and docker-compose setup
- Environment variable templates (.env.example)
- Smoke tests
- Commercial licence template for your clients
⚙️ Quick Setup
- Extract the zip file
- Copy
.env.exampleto.envand add your MongoDB URI, JWT secret, encryption keys, admin email and password - Run
docker compose up -d --build(or run server and client manually withnpm installandnpm run dev) - Run
npm run seed(ornpm run seed:demofor sample elections) - Login as admin, enable 2FA, import voters and create your first election
Requirements: Node.js 20+, MongoDB (use a replica set or Atlas, since votes use transactions). SMTP and reCAPTCHA keys are needed for production use; Docker is optional.
❓ Frequently Asked Questions
Is complete source code included?
Yes, full frontend and backend source code is included.
Is the vote secret?
Yes. The system records who has voted and keeps the chosen candidate separate, so a voter’s identity is not linked to their choice in the vote record. Each voter also gets a receipt code to verify their vote was counted.
Which voting methods are supported?
Single choice, multi-select and ranked-choice (instant runoff), with optional NOTA.
Can I use it for one specific class or department only?
Yes, you can restrict any election to one or more voter groups.
Can I change the logo, name and colors?
Yes, branding (name, logo, color, footer, support email) can be set from the admin settings and the .env file.
Can I use this for my final year project?
Yes, it is ideal for BCA, MCA and B.Tech students.
Can it be used for government or statutory elections?
This software is designed for colleges, societies, clubs, companies and similar organizations. For legally binding government elections, please get independent security audit and legal approval first.
Do I need any paid service to run it?
No paid service is compulsory. You need Node.js and MongoDB. For real elections you should add an SMTP email service and reCAPTCHA keys (both have free plans).
📩 Need help with setup or customization? Contact us after purchase.






Reviews
There are no reviews yet.