This is a decentralized voting application built using Next.js on the frontend and Kalp Studio blockchain technology to securely manage and track votes. The app allows users to cast votes for candidates, retrieve real-time results, and ensures transparency and immutability in voting transactions through the use of Kalp Studio's Distributed Ledger Technology (DLT).
This project leverages Kalp Studio's DLT for secure and transparent voting transactions. On the backend, we manage voting through Kalp’s blockchain network. The frontend interacts with the Kalp API to handle vote submissions and fetch results, with votes retained even after page reloads through the use of session cookies.
- Blockchain Integration: Utilizes Kalp Studio's API to record votes and fetch real-time results.
- Persistent Voting: Session cookies retain vote counts, ensuring that votes aren't reset upon reloading the page.
- Smooth Animations: Custom scroll animations in components like
ScrollViewSplits
andReverseScrollViewSplits
. - Cross-platform: The app is optimized for web, Android, and iOS deployment.
- Backend: Manages voting transactions and vote storage.
- Frontend: In the
ScrollViewSplits
andReverseScrollViewSplits
components, Kalp Studio’s API endpoints/Invoke/Vote
and/Invoke/GetResults
are used to cast votes and retrieve results respectively.
- /Invoke/Vote: Used to submit votes for a candidate.
- /Invoke/GetResults: Fetches real-time vote counts from the Kalp blockchain.
First, run the development server:
npm install
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 to see the project in action.
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
This project uses `next/font` to automatically optimize and load Inter, a custom Google Font.
Include relevant screenshots of your app showing candidate selection, voting interactions, and the vote count retrieval.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - Learn about Next.js features and API.
- Kalp Studio - Learn about integrating Kalp DLT with your apps.
The easiest way to deploy your Next.js app is using Vercel.
Check out Next.js deployment documentation for more details.