Skip to content

Phoenix05420/online-voting-system-using-java

Repository files navigation

🗳️ WebVoteHub - Online Voting System

🌟 Overview

WebVoteHub is a modern, secure, and robust Online Voting System designed to provide a transparent and efficient way to conduct elections. Built with a high-performance Java Spring Boot backend and a sleek, responsive vanilla JavaScript frontend, it ensures a seamless experience for administrators, candidates, and voters alike.


🚀 Key Features

🛡️ Secure & Reliable

  • JWT Authentication: Industry-standard security for voter and admin sessions.
  • BCrypt Password Hashing: Ensures all sensitive data is encrypted.
  • Protected Endpoints: Robust Spring Security integration to prevent unauthorized access.

👥 User Roles

  • Admin Dashboard: Effortlessly manage elections, candidates, and voter registrations.
  • Voter Portal: Intuitive interface for voters to browse candidates and cast their votes securely.
  • Candidate Profiles: Dedicated sections for candidate descriptions and position details.

📊 Real-Time Analytics

  • Live Voting Results: Instant visualization of election progress and final counts.
  • One Voter, One Vote: Advanced logic to prevent duplicate voting and ensure integrity.

🛠️ Tech Stack

Backend

  • Core: Java 17
  • Framework: Spring Boot 3.2.5
  • Security: Spring Security + JWT
  • Persistence: Spring Data JPA
  • Database: PostgreSQL / MySQL (Configurable)

Frontend

  • Structure: Semantic HTML5
  • Styling: Modern CSS3 (Custom Design System)
  • Logic: Vanilla JavaScript (Modern ES6+)

Infrastructure

  • Containerization: Docker & Docker Compose
  • Build Tool: Maven

📦 Getting Started

Prerequisites

  • JDK 17+
  • Maven 3.8+
  • PostgreSQL or MySQL
  • Docker (Optional)

Installation

  1. Clone the Repository

    git clone https://github.com/Phoenix05420/online-voting-system-using-java.git
    cd OVS_2
  2. Database Setup

    • Execute the database.sql script in your local database manager.
    • Update backend/src/main/resources/application.properties with your credentials.
  3. Run the Backend

    cd backend
    mvn spring-boot:run
  4. Run the Frontend

    • Simply open frontend/index.html in your favorite browser.

🐳 Docker Deployment

To launch the entire ecosystem using Docker:

docker-compose up --build

🤝 Contributing

We welcome contributions! Please feel free to submit a Pull Request or open an issue for any features or bugs you'd like to discuss.


📄 License

Distributed under the MIT License. See LICENSE for more information.


Made with ❤️ by Phoenix05420

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors