Civic DAPP

Online voting system using Bitcoin Blockchain

Full Stack Web DevelopmentJavaScriptGPL-3.0

Abstract

Civic DAPP is an open-source Full Stack Web Development project. Online voting system using Bitcoin Blockchain. Civic Dapp is a voting system based on Bitcoin and ColoredCoin protocols. It is built using JavaScript. The complete source code is publicly available on GitHub under the GNU General Public License v3.0, making it a useful reference for students building a Full Stack Web Development mini project or final-year project.

1. Introduction

Civic Dapp is a voting system based on Bitcoin and ColoredCoin protocols.

Une version française des instructions est présente après celle en anglais.

In case you don't have any account yet: https://dashboard.colu.co/register

2. Objective

Online voting system using Bitcoin Blockchain

This project demonstrates how JavaScript can be applied to a real-world Full Stack Web Development problem.

4. Technology Stack

JavaScript

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Node.js (LTS) and npm
  • A modern web browser
  • VS Code or any code editor
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/antonio-fr/CivicDapp.git
cd CivicDapp
  1. Vote name
  2. Organizer name
  3. All the possible choices
  4. The voters (name and address or phone number)
  5. Creation of the indivisible vote tokens (as many as voters)
  6. Tokens sending to every single voter
  7. Config file creation for future data importation
var choiceadr = {"choices":[
 {"Name":"Choice1","Address":"mXXXXXX"},
 {"Name":"Choice2","Address":"mXXXXXX"},
 {"Name":"Choice3","Address":"mXXXXXX"}
]
, "Token":[
 {"Name":"Vote Bidule",
 "ID":"LXXXXXXXXX",
 "Organizer":"NomOrga"}
]}
var voters = [
 {"name":"Votant1","address":"mXXXXXX"},
 {"name":"votant2","address":"mXXXXXX"},
 {"name":"Votant3","address":"mXXXXXX"},
 {"name":"Votant4","address":"mXXXXXX"}
]

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Add role-based access control
  • Deploy on a VPS or cPanel hosting with a custom domain
  • Add automated tests and a CI pipeline

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Explain the frontend, backend and database layers of this application.
  2. How is user authentication and authorisation implemented?
  3. Describe the main database tables / collections and their relationships.
  4. Which REST APIs or routes are exposed and what do they return?
  5. How would you deploy this application to production?

9. Source Code & License

This project is developed by antonio-fr and published on GitHub under the GNU General Public License v3.0. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on a Full Stack Web Development project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Full Stack Web Development Internship