Fall 2022 Senior Design Project
WebChain
Knight Foundation School of Computing and Information Sciences
Team members: Alec Jean-Herald Joseph, Michael Anthony Ferrer, Ximena Puig, Adriel Molerio, Felix Rodriguez Jr
Product Owner: Alec Jean-Herald Joseph
Mentor: Dr. Masoud Sadjadi
FLORIDA INTERNATIONAL UNIVERSITY
Problem Description
Lack of Security
Online voting systems face many security challenges such as hacking, data tampering, and fraud. These issues may lead to a loss of confidence in the integrity of the voting process, resulting in low voter turnout and a lack of trust in the election results.
Lack of Transparency
A significant challenge in the online voting system is the lack of transparency. Voters can't track their votes once they're cast, and there is no way to know if the vote has been tampered with. This can lead to a lack of trust in the election results.
SOLUTION
Blockchain Technology
COLLEGE OF ENGINEERING AND COMPUTING
FLORIDA INTERNATIONAL UNIVERSITY
Purpose of New System
COLLEGE OF ENGINEERING AND COMPUTING
FLORIDA INTERNATIONAL UNIVERSITY
Applications
FLORIDA INTERNATIONAL UNIVERSITY
COLLEGE OF ENGINEERING AND COMPUTING
Methodology
This project was developed in a semester with the following timeline:
1st Sprint:
❑ Meeting and coordinating with team
❑ Making decisions about the purpose of the project
❑ Create GitHub repo
2nd Sprint:
❑ Download and get familiar with the technologies we will be using.
❑ Began working on design of the system
3rd Sprint:
❑ Continue design and documentation for the system
❑ Figma design for the front-end
❑ Begin coding front-end
4th Sprint:
❑ Research Blockchain technology implementations for a voting website
❑ Continue working on front-end with React
5th Sprint:
❑ Begin Blockchain implementation with Node.js
❑ Rebuilded front-end with HTML and CSS
6th Sprint:
❑ Create Database with MySQL
❑ Continued with front-end development
❑ Began planning for final deliverables
7th Sprint:
❑Work on Final Deliverable: Documentation
❑Work on Final Deliverable: Poster
❑Work on Final Deliverable: Presentation
❑Work on Final Deliverable: Videos
COLLEGE OF ENGINEERING AND COMPUTING
User Stories
User Story #1:
User Story #2:
User Story #3:
User Story #4:
User Story #5:
User Story #6:
User Story #7:
User Story #8:
FLORIDA INTERNATIONAL UNIVERSITY
COLLEGE OF ENGINEERING AND COMPUTING
Software and Hardware
The software tools we used to create and design WebChain were
COLLEGE OF ENGINEERING AND COMPUTING
Product design
Create a Ballot design
Search for a Ballot design
COLLEGE OF ENGINEERING AND COMPUTING
Architecture and System Design
System decomposition
Architecture patterns used
Identify design patterns used�
Class Diagram
Package Diagram
COLLEGE OF ENGINEERING AND COMPUTING
FLORIDA INTERNATIONAL UNIVERSITY
System Design: Deployment and Persistent Data
Deployment Diagram
Entity-Relationship Diagram
The ER diagram shows the database schema for the system. It includes two tables: Ballot and Vote. The Ballot table stores information about the ballots, including their unique id, title, question, answer choices, privacy and any additional info. The Vote table stores information about the votes, including their unique id, the id of the ballot the vote is being cast on, and what choice the vote has selected. �
The deployment diagram shows the physical deployment of the system. The Front-end Web Server is deployed on the client-side, while the Back-end Web Server and the database are deployed on the server-side.
COLLEGE OF ENGINEERING AND COMPUTING
Use Case
Diagram
The use case diagram shows the different actions that the user can perform in the system. The user can access the page to search for a ballot to search for a particular ballot using a link or a ballot’s title and they can access the page to create a ballot or copy the link for a ballot. These use cases are depicted in the diagram.
COLLEGE OF ENGINEERING AND COMPUTING
Sequence Diagram
COLLEGE OF ENGINEERING AND COMPUTING
Screenshots of Front-end
COLLEGE OF ENGINEERING AND COMPUTING
FLORIDA INTERNATIONAL UNIVERSITY
Screenshots of Blockchain and Database
Code for the Database in MySQL
Code for the Blockchain
COLLEGE OF ENGINEERING AND COMPUTING
FLORIDA INTERNATIONAL UNIVERSITY
Test Cases
Thus, the user will create another poll to cast another ballot.�
Which will repeat the process again and whole host of new questions.
User will get determined how to make decision with poll without intrusion from the large companies or government entities.�
They’ll get make their decision with data as well as create poll to conduct any democratic process in regards to decision making.�
For example, a voting application will use to conduct elections for West Virginia, Denver and Japan.
FLORIDA INTERNATIONAL UNIVERSITY
COLLEGE OF ENGINEERING AND COMPUTING
Conclusion and next steps
In conclusion, we have:
COLLEGE OF ENGINEERING AND COMPUTING
FLORIDA INTERNATIONAL UNIVERSITY
Thank you :)
COLLEGE OF ENGINEERING AND COMPUTING
FLORIDA INTERNATIONAL UNIVERSITY
References
Build a Authentication Using Blockchain - GeeksforGeeks
GitHub - Anuj-Kumar-Sharma/EthereumVoting: Online voting platform using Blockchain
GitHub - mehtaAnsh/BlockChainVoting: A blockchain based E-voting system
What is Decentralized Voting Application (DApps)? - GeeksforGeeks�
FLORIDA INTERNATIONAL UNIVERSITY
COLLEGE OF ENGINEERING AND COMPUTING