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.
- 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.
- 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.
- Live Voting Results: Instant visualization of election progress and final counts.
- One Voter, One Vote: Advanced logic to prevent duplicate voting and ensure integrity.
- Core: Java 17
- Framework: Spring Boot 3.2.5
- Security: Spring Security + JWT
- Persistence: Spring Data JPA
- Database: PostgreSQL / MySQL (Configurable)
- Structure: Semantic HTML5
- Styling: Modern CSS3 (Custom Design System)
- Logic: Vanilla JavaScript (Modern ES6+)
- Containerization: Docker & Docker Compose
- Build Tool: Maven
- JDK 17+
- Maven 3.8+
- PostgreSQL or MySQL
- Docker (Optional)
-
Clone the Repository
git clone https://github.com/Phoenix05420/online-voting-system-using-java.git cd OVS_2 -
Database Setup
- Execute the
database.sqlscript in your local database manager. - Update
backend/src/main/resources/application.propertieswith your credentials.
- Execute the
-
Run the Backend
cd backend mvn spring-boot:run -
Run the Frontend
- Simply open
frontend/index.htmlin your favorite browser.
- Simply open
To launch the entire ecosystem using Docker:
docker-compose up --buildWe welcome contributions! Please feel free to submit a Pull Request or open an issue for any features or bugs you'd like to discuss.
Distributed under the MIT License. See LICENSE for more information.
Made with ❤️ by Phoenix05420