Skip to content

πŸ—³οΈ VoteChain - A modern blockchain-based voting platform built with React and deployed on Google Cloud. Secure, transparent, and decentralized voting with real-time results.

Notifications You must be signed in to change notification settings

Anish-2005/VoteChain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—³οΈ VoteChain - Blockchain Voting Platform

A modern, secure, and transparent voting application built on blockchain technology and deployed on Google Cloud Platform. VoteChain revolutionizes the voting process by ensuring immutability, transparency, and security through distributed ledger technology.

🌟 Features

  • πŸ”’ Blockchain Security: All votes are encrypted and stored on an immutable blockchain
  • ☁️ Google Cloud Infrastructure: Lightning-fast performance with global scalability
  • 🎨 Modern UI/UX: Beautiful, responsive design built with React and Tailwind CSS
  • πŸ“Š Real-time Results: Live vote counting and results visualization
  • πŸ” Secure Authentication: Multiple layers of security for voter verification
  • πŸ“± Mobile Responsive: Optimized for all devices and screen sizes
  • 🌐 Transparent Process: Complete audit trail for all voting activities

πŸ› οΈ Technology Stack

Frontend

  • React 18.3.1 - Modern UI framework
  • Tailwind CSS 3.4.10 - Utility-first styling
  • Framer Motion 11.5.6 - Smooth animations and transitions
  • React Router DOM 6.26.1 - Client-side routing
  • Lucide React - Beautiful icon library
  • Recharts 2.12.7 - Data visualization
  • Axios 1.7.7 - HTTP client for API calls

Infrastructure

  • Google Cloud Platform - Cloud hosting and services
  • Blockchain Technology - Immutable vote storage
  • Progressive Web App (PWA) - App-like experience

πŸš€ Quick Start

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn package manager
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/your-username/VoteChain.git
    cd VoteChain
  2. Install dependencies

    npm install
  3. Start the development server

    npm start
  4. Open your browser Navigate to http://localhost:3000 to see the application running.

Build for Production

npm run build

This creates an optimized production build in the build/ folder.

πŸ“ Project Structure

VoteChain/
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ index.html
β”‚   └── site.webmanifest
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ AdminPanel.js       # Poll creation and management
β”‚   β”œβ”€β”€ App.js             # Main application component
β”‚   β”œβ”€β”€ Home.jsx           # Landing page
β”‚   β”œβ”€β”€ VotingInterface.js # Voting functionality
β”‚   β”œβ”€β”€ ThemeContext.js    # Theme management
β”‚   β”œβ”€β”€ localStorage.js    # Local storage utilities
β”‚   └── index.js          # Application entry point
β”œβ”€β”€ package.json
β”œβ”€β”€ tailwind.config.js
β”œβ”€β”€ vercel.json
β”œβ”€β”€ .gitignore
└── README.md

🎯 Key Components

🏠 Home Page (Home.jsx)

  • Modern landing page with gradient backgrounds
  • Animated cards showcasing platform features
  • Navigation to voting and admin interfaces
  • Responsive design with hover effects

πŸ—³οΈ Voting Interface (VotingInterface.js)

  • Secure ballot casting
  • Real-time vote validation
  • Blockchain transaction confirmation
  • User-friendly voting experience

πŸ‘¨β€πŸ’Ό Admin Panel (AdminPanel.js)

  • Poll creation and management
  • Candidate registration
  • Voting period configuration
  • Results monitoring and analytics

πŸ” Security Features

  • Blockchain Immutability: Once cast, votes cannot be altered or deleted
  • Cryptographic Hashing: All votes are cryptographically secured
  • Decentralized Storage: No single point of failure
  • Audit Trail: Complete transparency with verifiable voting records
  • Identity Verification: Secure voter authentication system

☁️ Google Cloud Integration

VoteChain leverages Google Cloud Platform for:

  • Compute Engine: Scalable virtual machines for application hosting
  • Cloud Storage: Secure storage for application assets
  • Cloud CDN: Fast content delivery worldwide
  • Cloud Security: Advanced security and DDoS protection
  • Cloud Monitoring: Real-time performance monitoring
  • Auto Scaling: Automatic scaling based on demand

πŸ“Š Blockchain Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   User Vote     │───▢│  Blockchain     │───▢│   Verification  β”‚
β”‚                 β”‚    β”‚   Network       β”‚    β”‚   & Storage     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚                       β”‚                       β”‚
        β–Ό                       β–Ό                       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Cryptographic  β”‚    β”‚  Distributed    β”‚    β”‚   Immutable     β”‚
β”‚   Encryption    β”‚    β”‚    Ledger       β”‚    β”‚    Record       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🚧 Development Status

VoteChain is currently under active development. This is a work-in-progress project with the following roadmap:

βœ… Completed

  • Frontend UI/UX design
  • Basic routing and navigation
  • Responsive layout with Tailwind CSS
  • Animation system with Framer Motion
  • Project structure and build setup

πŸ”„ In Progress

  • Blockchain integration
  • Google Cloud deployment pipeline
  • User authentication system
  • Voting mechanism implementation
  • Admin dashboard functionality

πŸ“‹ Planned Features

  • Multi-language support
  • Advanced analytics dashboard
  • Mobile app development
  • Integration with external identity providers
  • Advanced reporting and audit tools
  • API for third-party integrations

🀝 Contributing

We welcome contributions to VoteChain! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow React best practices
  • Use TypeScript for new components (migration in progress)
  • Maintain responsive design principles
  • Write comprehensive tests
  • Document all new features

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Google Cloud Platform for infrastructure support
  • React community for the amazing ecosystem
  • Blockchain technology pioneers
  • Open source contributors and maintainers

⚠️ Disclaimer: This application is currently in development. Please do not use for production voting scenarios until security audits are completed and the blockchain integration is fully implemented.

πŸ”— Connect with us: Follow our development progress and get updates on new features and releases.


VoteChain - Democratizing Democracy Through Technology
Secure β€’ Transparent β€’ Decentralized

πŸš€ Deployment

Repository Structure

This project should be cloned as VoteChain (with capital letters) to maintain consistency:

git clone https://github.com/your-username/VoteChain.git
cd VoteChain

Vercel Deployment

  1. Connect your repository to Vercel

    • Repository name: VoteChain
    • Framework Preset: Create React App
  2. Build Configuration:

    {
      "buildCommand": "npm run build",
      "outputDirectory": "build",
      "installCommand": "npm install"
    }
  3. Environment Variables (Optional):

    NODE_ENV=production
    GENERATE_SOURCEMAP=false

Manual Deployment Fix

If you're getting build errors:

  1. Ensure your repository is named VoteChain (capital V and C)
  2. Verify that public/index.html exists in your project root
  3. Check that your package.json has the correct build scripts
  4. Make sure vercel.json is in the project root

GitHub Repository Setup

To avoid duplicate repositories:

  1. Use consistent naming: VoteChain (not votechain)
  2. If you have both, delete the incorrect one and keep VoteChain
  3. Update your local remote URL if needed:
    git remote set-url origin https://github.com/your-username/VoteChain.git

About

πŸ—³οΈ VoteChain - A modern blockchain-based voting platform built with React and deployed on Google Cloud. Secure, transparent, and decentralized voting with real-time results.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published