Skip to content
/ VoteX Public

An AI driven Stellar based Decentralized Voting Application which empowers communities to make decisions collectively with confidence.

Notifications You must be signed in to change notification settings

soorya-u/VoteX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

VoteX

An AI driven Stellar based Decentralized Voting Application which empowers communities to make decisions collectively with confidence.

View Demo · Report Bug

About The Project

This project is a secure, AI-driven, decentralized voting application built on the Stellar blockchain with Soroban smart contracts to ensure transparency and immutability. The system leverages Next.js for the frontend, a Python-based proxy server, and Redis as the database.

Key Features

  • Decentralized & Secure – Built on Stellar blockchain with Soroban smart contracts for transparent voting.
  • AI-Powered Authentication – Uses OCR for Aadhaar card recognition and face recognition models for enhanced security.
  • Fast & Scalable – A Python proxy server optimizes API calls, and Redis ensures quick data access.
  • User-Friendly Interface – A seamless Next.js frontend for an intuitive voting experience.

This system guarantees secure, verifiable, and tamper-proof elections with the power of AI and blockchain.

Built With

Client

Typescript Next Tailwind

Server

Python FastAPI

Database & Services

Redis Twilio

Web3

Rust Stellar Pinata

Architecture

architecture

Getting Started

This is a set of instructions on how to set up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

These are the softwares required to run the project locally.

Installation

  1. Clone the repository

    git clone https://github.com/soorya-u/votex.git
  2. Install Stellar CLI

  3. Create a new Account in any Stellar Network

  4. Navigate to web3 Directory

    cd web3
  5. Run the Deploy Command with Username and Network Options as Parameters to get the Deployed Contract Address

    .\scripts\deploy.ps1 -Source <your-username> -Network <your-network>
  6. Retrieve API Keys from Pinata and Twilio

  7. Navigate to Server

    cd server
  8. Create .env and fill the required variables

    cp .env.example .env
  9. Install all the required packages

    poetry install
  10. Run the FastAPI Server

    poetry run fastapi dev src
  11. Navigate to Client

    cd client
  12. Create .env and fill the required variables

    cp .env.example .env
  13. Install Dependencies

    bun install
  14. Run the Development Server

    bun dev

Roadmap

  • Rasa Chatbot Integration

See the open issues for a full list of proposed features (and known issues).