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.
| 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 |
|
|
|
Make sure you have the following installed before continuing:
- Node.js 18+
- Python 3.10+
- Rust & Cargo
- Solana CLI
- Yarn
- PostgreSQL (for production)
1. Clone the repository
git clone https://github.com/Acelake123/vApp.git
cd vApp2. Set up the frontend
cd frontend
yarn install
cp .env.example .env.local
# Edit .env.local with your environment variables3. 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 migrate4. Deploy the Solana program
cd ../booth
cargo build
anchor build
anchor deployOpen two terminals and start both servers:
# Terminal 1 — Backend
cd booth_backend
python manage.py runserver# Terminal 2 — Frontend
cd frontend
yarn devThen open your browser:
| Service | URL |
|---|---|
| 🌐 Frontend | http://localhost:3000 |
| 🔌 Backend API | http://localhost:8000/api |
| 🛡️ Admin Panel | http://localhost:8000/admin |
# Frontend
cd frontend
yarn test
# Solana program
cd booth
anchor build
anchor test
# Backend
cd booth_backend
python manage.py testFrontend — Vercel / Netlify
- Connect your GitHub repository
- Set up environment variables in the dashboard
- Hit Deploy 🚀
Backend — Render / Railway
- Provision a PostgreSQL database
- Configure your environment variables
- Deploy your Django application
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-featureA 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!