final-year-project
A decentralized blockchain voting system for Makerere University
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.7%) to scientific vocabulary
Repository
A decentralized blockchain voting system for Makerere University
Basic Info
- Host: GitHub
- Owner: wampet
- License: mit
- Language: JavaScript
- Default Branch: main
- Size: 7.89 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Makerere Ethereum Blockchain Voting
A decentralized voting system for Makerere University based on Ethereum blockchain technology.
This is a final year project that has been worked on by Andrew Ssempangi and Wamanga Peter under the supervision of Dr. Ronald Kizito and Ms. Carol Ovon. ```bash
System Workflow
A brief explanation on the basic workflow of the application.
- The Admin registers with their email and password which are then stored in a Mongo database. Those details are used to sign in to view the dashboard
- The Admin can then create a voting instance by creating an election and filling in additional information about the election.
- The Admin is also responsible for adding Candidates who are sent emails that contain login in details
- The registered user (voter) following the approval from the admin casts their vote to the candidate of interest (from the voting page).
- After some time, depending on the scale of the election the admin ends the election. As that happens the voting is closed and the results are displayed announcing the winner on the dashboard and also sending out emails to both the candidates and the voters.
Setting up the development environment
Requirements
Thee following are some of the requirements for running the application on your localhost. Follow the links to download the requirements.
install dependencies
npm install
serve with hot reload at localhost:3000
npm start ```
Create your own .env file and the file should contain:
bash
EMAIL=YOUR_EMAIL_ID
PASSWORD=YOUR_PASSWORD_FOR_EMAIL_ID
Install MetaMask extension (https://metamask.io/download.html) and make sure to have some Ether to test the application locally. Ether can be fetched from Rinkeby Faucet (https://faucet.rinkeby.io)
Note:
- Make sure to install Node.js v14.17.3 to make sure the app runs fine. Testing for other node versions is yet to be done.
- MongoDB must be working in background on localhost:27017
Tech Stack:
- Solidity/Web3 (for writing/connecting the Blockchain contract)
- Next.js & Semantic UI React (front-end)
- MongoDB/ExpressJS/Node.js (back-end)
- IPFS (file storage for images)
Screenshots of the app:
Owner
- Name: Wamanga Peter
- Login: wampet
- Kind: user
- Location: Kampala
- Company: Makerere University
- Twitter: wampet22
- Repositories: 8
- Profile: https://github.com/wampet
A student for life with a passion for Programming and UI/UX.
Citation (CITATION.cff)
# YAML 1.2
---
authors:
-
family-names: Wamanga
given-names: Peter
-
family-names: Ssempangi
given-names: Andrew
-
cff-version: "1.1.0"
date-released: 2022-08-01
message: "If you use this software, please cite it using these metadata."
repository-code: "https://github.com/wampet/Final-Year-Project"
title: Makerere Blockchain voting
version: "v1.0"
...
GitHub Events
Total
Last Year
Dependencies
- 1309 dependencies
- mocha ^6.1.4 development
- @zeit/next-css ^1.0.1
- bcrypt ^3.0.8
- body-parser ^1.18.3
- chart.js ^2.8.0
- chartjs ^0.3.24
- chartjs-plugin-annotation ^0.5.7
- dotenv ^8.2.0
- express ^4.16.4
- fs-extra ^7.0.1
- ganache-cli ^6.4.1
- ipfs-api ^26.1.2
- js-cookie ^2.2.0
- mongoose ^5.5.1
- next ^8.0.3
- next-routes ^1.4.2
- nodemailer ^6.1.0
- path ^0.12.7
- react ^16.8.5
- react-chartjs-2 ^2.7.6
- react-dom ^16.8.5
- react-helmet ^5.2.0
- semantic-ui-css ^2.4.1
- semantic-ui-react ^0.86.0
- solc ^0.4.25
- truffle-hdwallet-provider ^1.0.5
- web3 ^1.0.0-beta.52
- actions/checkout v1 composite
- timbru31/node-alpine-git latest build