This project was developed as a mega project for Rajiv Gandhi College of Engineering, Research & Technology (RCERT) to modernize the traditional chit-based voting system for student elections. It offers a digital voting platform designed for student elections, providing a fair, secure, and efficient alternative to manual processes.
The system successfully facilitated elections for over 500+ students, significantly improving upon the traditional chit-based system by enabling automatic digital vote counting, real-time results, error-free processing, and transparency. It allows for remote voting and reduces election time from days to minutes.
Fair & Secure - No scope for vote manipulation
Time-Efficient - Reduced election time from days to minutes
Convenient - Students can vote from any device
Transparent - Real-time result visibility for admins
Cost-Effective - No paper, printing, or manual labor costs
Scalable - Tested with 500+ students, can handle thousands
Confetti Celebration — Animated confetti burst when a vote is successfully cast
Animated Results — Growing progress bars, counting-up vote numbers, trophy entrance animation
Interactive Candidate Cards — Click-to-select cards replacing boring dropdowns, with avatar initials and color-coded roles
Live Status Indicator — Pulsing dot showing real-time election state (Live/Ended/Results/Not Started)
Vote Progress Stepper — Visual step tracker: Select → Review → Confirm → Done
Skeleton Loading States — Shimmer placeholders while data loads instead of generic spinners
Dynamic Role Management — Admin can add/remove election positions
Dark Cinematic Welcome Page — Hero section with floating shapes, gradient text, glass-morphism cards
Full Accessibility — WCAG 2.2 compliance with focus indicators, reduced motion, ARIA patterns
Centralized Theme System — Custom MUI theme with Playfair Display, Outfit, and JetBrains Mono fonts
Frontend: React 18.2, Material UI (MUI), React Router v6
Animations: framer-motion, canvas-confetti
Testing: Jest, React Testing Library, @testing-library/user-event
Authentication: AWS Cognito (Mocked for demo)
API: AWS API Gateway (Mocked for demo)
Storage: AWS S3 (Mocked for demo)
Backend: AWS Lambda (Python 3.9)
Database: Amazon DynamoDB
PDF Generation: jsPDF + jspdf-autotable
Fonts: Playfair Display, Outfit, JetBrains Mono
This project is currently running in DEMO/PROTOTYPE mode with mock services. To connect a real backend, follow the instructions in the 'Connecting Real Backend' section.
Prerequisites: Node.js (v14 or higher), npm or yarn.
Installation: Clone the repository, install dependencies using npm or yarn, and start the development server with npm start.
For Students
Secure login/signup with email verification
Check voting eligibility based on attendance
View candidates as interactive cards for all positions
Cast votes with progress stepper (Select → Review → Confirm → Done)
Confetti celebration on successful vote
View animated results after declaration
For Administrators
Upload student attendance CSV
Dynamic role management — Add/remove election positions
Add/manage election candidates for any role
Control election status (Start/Stop/Declare/Reset)
View animated real-time voting results
Export results as PDF
Live status indicator with pulsing animations
For any queries or collaboration opportunities, feel free to reach out to the team members via email.
Built with