A web-based voting application built with React, TypeScript, and modern web technologies designed to manage and facilitate voting processes.
🔗 GitHub Repository: Voting System
- Secure login with email verification.
- Separate interfaces for voters and administrators.
- Authentication-based route protection.
- Clean UI for casting votes for candidates.
- Manage elections, candidates, and results.
- Display live election results.
- Browse through different voting classes/categories.
- Countdown timer for election deadlines.
- Frontend: React (TypeScript, Vite)
- Routing: React Router v6
- Styling: Tailwind CSS
- UI Components: Radix UI
- State Management: React Context API
- API Requests: TanStack Query (React Query)
- Build Tool: Vite
- Package Manager: Bun
- Deployment: Vercel
src/
├── components/ # UI components
├── contexts/ # React context providers
├── hooks/ # Custom React hooks
├── lib/ # Utility functions
├── pages/ # Page components
│ ├── Admin.tsx # Admin dashboard
│ ├── AdminLogin.tsx # Admin authentication
│ ├── Index.tsx # Landing page
│ ├── Results.tsx # Election results display
│ ├── Verification.tsx# User verification
│ └── Voting.tsx # Voting interface
└── services/ # API and service integrations
- Node.js (v18+)
- Bun or npm/yarn
-
Clone the repository
git clone https://github.com/Sahnik0/adiVote cd voting-system
-
Install dependencies
npm install
-
Configure environment variables
- Create a
.env
file in the root directory. - Add necessary environment variables.
- Create a
-
Start the development server
npm run dev
- Voters: Navigate to the homepage, verify your identity, and cast votes.
- Administrators: Access the admin panel via
/admin-login
to manage elections.
Thanks to everyone who has contributed to this project!
![]() Pranjal |
![]() Sahnik Biswas |
![]() Sankalpa |
Want to see your name here? Fork the repository and contribute! 🚀
This project is open-source under the MIT License.
💡 Join the project and help build the future of online voting systems! 🚀