Skip to content

A web-based voting application built with React, TypeScript, and modern web technologies to facilitate secure and efficient online elections. It includes authentication, role-based access, real-time results, and an admin dashboard for election management.

Notifications You must be signed in to change notification settings

Sahnik0/adiVote

Repository files navigation

README.md

🗳️ Voting System

A web-based voting application built with React, TypeScript, and modern web technologies designed to manage and facilitate voting processes.

🔗 GitHub Repository: Voting System


🚀 Features

🔹 1. Authentication System

  • Secure login with email verification.

🔹 2. Role-Based Access Control

  • Separate interfaces for voters and administrators.

🔹 3. Protected Routes

  • Authentication-based route protection.

🔹 4. Voting Interface

  • Clean UI for casting votes for candidates.

🔹 5. Admin Dashboard

  • Manage elections, candidates, and results.

🔹 6. Real-time Results

  • Display live election results.

🔹 7. Class Browser

  • Browse through different voting classes/categories.

🔹 8. Election Timer

  • Countdown timer for election deadlines.

🔧 Tech Stack

  • 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

🏗️ Project Structure

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

🎯 Getting Started

🔑 Prerequisites

  • Node.js (v18+)
  • Bun or npm/yarn

🔹 Installation

  1. Clone the repository

    git clone https://github.com/Sahnik0/adiVote
    cd voting-system
  2. Install dependencies

    npm install
  3. Configure environment variables

    • Create a .env file in the root directory.
    • Add necessary environment variables.
  4. Start the development server

    npm run dev

📌 Usage

  • Voters: Navigate to the homepage, verify your identity, and cast votes.
  • Administrators: Access the admin panel via /admin-login to manage elections.

🌟 Contributors

Thanks to everyone who has contributed to this project!


Pranjal

Sahnik Biswas

Sankalpa

Want to see your name here? Fork the repository and contribute! 🚀


📜 License

This project is open-source under the MIT License.


💡 Join the project and help build the future of online voting systems! 🚀

About

A web-based voting application built with React, TypeScript, and modern web technologies to facilitate secure and efficient online elections. It includes authentication, role-based access, real-time results, and an admin dashboard for election management.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages