Thanks to visit codestin.com
Credit goes to github.com

Skip to content

IS-OS/Universal-Voting-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Universal Voting System

A decentralized, advisory voting platform designed to enable public participation in policy formation on critical issues such as land use, social housing, water meters, and environmental law. Built with Ethereum for transparency, React.js for the user interface, and Node.js for backend and real-time features, this system allows citizens to create petitions, vote in real-time, and export results to existing legal channels (e.g., national petition systems or international frameworks like the EU's Have Your Say portal). The system operates in good faith for public benefit, ensuring compliance with national and international laws by serving as an advisory tool rather than directly enacting legislation, respecting the sovereignty of nation-states.

Project Overview

The Universal Voting System was conceptualized to facilitate broad public input into policy-making, addressing key societal issues:

  • Land Use: Petitions for zoning, land reform, or equitable access.
  • Social Housing: Proposals to improve housing policies or affordability.
  • Water Meters: Feedback on water management and metering policies.
  • Environmental Law: Contributions to climate action, conservation, or resource management.
  • Any petition effecting the public : Full ambit public participation system in real time.

Key Features

  • Petition Creation: Users can submit petitions via a web interface, specifying title, description, and voting duration.
  • Real-Time Voting: Votes are recorded on the Ethereum blockchain and broadcast instantly via Socket.io, ensuring transparency and immediacy.
  • Advisory Output: Results are tallied on-chain, with an option to export to legal channels (e.g., parliamentary committees or public consultation APIs) for further legislative processing.
  • Legal Compliance: Designed to integrate with existing systems (e.g., EU's PETI committee, U.S. Regulations.gov) without circumventing laws, aligning with frameworks like the Aarhus Convention and OSCE guidelines.
  • Public Benefit: Emphasizes inclusivity (multilingual support planned), transparency (auditable blockchain), and accessibility, with potential integration with verified identities for fairness.

Legal and Ethical Considerations

  • Acts as an advisory tool, feeding results into national or international petition processes (e.g., EU's Article 44, Public Petitions Committees, or UN-Habitat's urban law tools).
  • Ensures compliance with laws by routing outputs through established channels, avoiding direct legislative authority.
  • Incorporates safeguards like voter verification (via wallet addresses or future decentralized IDs) to prevent manipulation, aligning with principles from the UN's Sustainable Development Goals and OAS guidelines for civil society participation.
  • There are submission committees of each department in the state apparatus so civil society can present the petitions that can go through the legislative process.

Prerequisites

  • Node.js (v16+): For backend and frontend.
  • MongoDB: For user data storage.
  • Truffle (v5+): For smart contract deployment.
  • Ganache CLI or Infura/Alchemy: For Ethereum network (local testing or mainnet).
  • MetaMask: Browser extension for wallet integration.
  • Docker (optional): For containerized deployment.

Setup

  1. Clone Repository:
    git clone <repo-url>
    cd universal-voting-system
    

Install Root Dependencies

npm install

cd backend npm install

cd frontend npm install

Smart Contract Setup:

Start Ganache: ganache-cli Compile and deploy: truffle migrate Update backend/server.js and frontend/src/App.js with contract ABI/address.

Notes

Setup: Run npm install-all in root, start Ganache (ganache-cli), deploy contracts (truffle migrate), and update .env with ABI/address. Start backend (node server.js) and frontend (npm start) or use docker-compose up. Security: For production, hash passwords in User.js, add HTTPS, and audit contracts (e.g., with Mythril). Use Infura for mainnet. Legal Compliance: The system exports results via ResultsReadyForPetition event, suitable for submission to portals like the EU's Have Your Say or U.S. Regulations.gov. Real-Time: Socket.io ensures live vote updates; CSS provides basic styling for usability.

About

A decentralized, advisory voting platform designed to enable public participation in policy formation on critical issues. This system operates in good faith for public benefit and allows citizens to create petitions, vote in real-time, and export results to existing legal channels as national petition systems or international frameworks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors