Richard's Introduction Application

Simple app to facilitate voting in an election


This project was mainly used as an introduction to Ethereum for me. I followed along with a couple tutorial applications, and thought one in particular was quite cool (voting simulation). I decided to extend the application with some more features but ultimately didn't have enough time to finish everything. The features I did finish were to add a percentage bar that showed the current percentages of votes belonging to each candidate, add some more candidates to the selection, and also beautify the user interface a bit. Two features I wanted to do but didn't end up finishing were to show the results only after a user has voted, and also have a withdraw/change vote functionality for the users.

How it's made

The project uses quite a bit of boilerplate code from the truffle 'pet store' example. It mainly uses Solidity and Ethereum. The front end is basic HTML and Javascript. I did testing initially with truffle-test (writing unit and integration tests), then tested it with mainly Ganache, which I found quite nice as it provides fake accounts full of Ethereum) and Metamask. I deployed the application locally and used Metamask as the gateway to a local Ethereum network and tried placing votes using different accounts.