Skip to content

Acelake123/vApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vApp — Decentralized Voting Platform on Solana



vApp is a full-stack decentralized voting platform built on the Solana blockchain.
Create polls, cast votes, and view results — all on-chain, in real time.


✨ Features

Feature Description
🔗 Decentralized Voting Every vote is recorded on the Solana blockchain — immutable and transparent
Real-time Results Watch poll results update live as votes come in
🎨 Modern UI Clean, responsive interface built with shadcn/ui and Tailwind CSS
🔐 Wallet Auth Authenticate securely using your Solana wallet — no passwords needed
📊 Custom Polls Create and manage your own polls with full control

🏗️ Tech Stack

🖥️ Frontend

  • Next.js 13+ (App Router)
  • shadcn/ui components
  • Tailwind CSS styling
  • React Context API
  • @solana/web3.js
  • @project-serum/anchor

⚙️ Backend

  • Django 4.2
  • Django REST Framework
  • SQLite (dev)
  • PostgreSQL (production)

⛓️ Blockchain

  • Anchor (Rust)
  • Solana Devnet / Mainnet
  • On-chain voting logic via smart contracts

🚀 Getting Started

Prerequisites

Make sure you have the following installed before continuing:

  • Node.js 18+
  • Python 3.10+
  • Rust & Cargo
  • Solana CLI
  • Yarn
  • PostgreSQL (for production)

Installation

1. Clone the repository

git clone https://github.com/Acelake123/vApp.git
cd vApp

2. Set up the frontend

cd frontend
yarn install
cp .env.example .env.local
# Edit .env.local with your environment variables

3. Set up the backend

cd ../booth_backend
python -m venv venv
source venv/bin/activate        # Windows: .\venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
# Edit .env with your environment variables
python manage.py migrate

4. Deploy the Solana program

cd ../booth
cargo build
anchor build
anchor deploy

🛠️ Running Locally

Open two terminals and start both servers:

# Terminal 1 — Backend
cd booth_backend
python manage.py runserver
# Terminal 2 — Frontend
cd frontend
yarn dev

Then open your browser:

Service URL
🌐 Frontend http://localhost:3000
🔌 Backend API http://localhost:8000/api
🛡️ Admin Panel http://localhost:8000/admin

🧪 Testing

# Frontend
cd frontend
yarn test

# Solana program
cd booth
anchor build
anchor test

# Backend
cd booth_backend
python manage.py test

🚢 Deployment

Frontend — Vercel / Netlify
  1. Connect your GitHub repository
  2. Set up environment variables in the dashboard
  3. Hit Deploy 🚀
Backend — Render / Railway
  1. Provision a PostgreSQL database
  2. Configure your environment variables
  3. Deploy your Django application

🤝 Contributing

Contributions are welcome and appreciated! Here's how to get involved:

# 1. Create a feature branch
git checkout -b feature/your-feature

# 2. Make your changes and commit
git commit -m 'feat: describe your feature'

# 3. Push and open a pull request
git push origin feature/your-feature

🙏 Acknowledgments

A big thanks to the communities and teams that made this possible:

  • 🟣 Solana Team — for the blazing-fast blockchain platform
  • ⚛️ Next.js Community — for the powerful React framework
  • 🐍 Django Community — for the reliable backend framework

Made with ❤️ by Acelake123 & Team

⭐ Star this repo if you find it useful!

About

vApp is a full-stack decentralized voting platform built on the Solana blockchain.

Topics

Resources

Stars

Watchers

Forks

Contributors