Skip to content

Starfall-inc/online_voting_system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🗳️ VoteSecure: Decentralized Blockchain Voting System

VoteSecure is a state-of-the-art online voting platform designed with transparency, security, and integrity at its core. By leveraging Blockchain Technology, the system ensures that every vote is immutable, verifiable, and tamper-proof.


🌟 Key Features

  • Decentralized Ledger: Each vote is recorded as a block in a cryptographic chain, making it impossible to alter or remove after submission.
  • Multi-Election Support: Participate in various elections independently (e.g., Student Union, Innovation Awards).
  • One Voter, One Vote: Cryptographic constraints ensure that each voter can only cast a single vote per election.
  • Real-Time Analytics: Dashboards provide live results directly from the blockchain database.
  • Audit Logs: A public-facing blockchain explorer allows any user to verify the audit trail of an election.
  • Admin Control: Comprehensive admin panel to manage elections, candidates, and system status.

🛠️ Technology Stack


🚀 Quick Start

1. Installation

Install dependencies:

npm install

2. Initial Seeding (Admin Setup)

Initialize the project with an admin user:

node seed.js

Admin Credentials:

  • Email: admin@votesecure.com
  • Password: Admin@Password123

3. Run the Project

Start the server:

npm start

The application will be live at http://localhost:3000.


📂 Project Documentation

Detailed documentation can be found in the /documentation folder:

  1. Architecture & Blockchain Logic — Dive into the cryptographic chaining and database schema.
  2. Setup & Deployment — Step-by-step instructions for local and production environments.
  3. Feature Breakdown — Every functional detail from Voter Registration to Audit Logs.

📁 File Structure

  • /app.js — Main Express server & Routing logic.
  • /blockchain.js — Core Blockchain engine & Hashing.
  • /db.js — Database connection & Table initialization.
  • /seed.js — Initial admin account seeding.
  • /views/ — EJS Page templates.
  • /views/partials/ — Reusable Header/Footer components.
  • /documentation/ — Comprehensive technical documentation.

🛡️ Security Note

All votes are cryptographically linked using SHA-256. A voter's identity is anonymized in public logs (e.g., ***1234) to maintain privacy while ensuring the transaction is part of a verified, unbroken chain.

About

An Online voting system made using blockchain technology (concept)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors