Tools We Used

Ethereum Remix Studio

Remix Studio is an online Ethereum IDE specifically designed for writing smart contracts. Upon doing research on what tools to use for our initial smart contract development process, we found that this IDE was an essential tool as it allows for decentralized application developers to directly compile, deploy, test, and debug contracts. Much of our smart contract development was done using this tool.

Solidity

The backbone of our decentralized application is the smart contract that exists on the blockchain, which we developed in the Solidity language. Solidity is the language required for smart contract development on the Ethereum blockchain. As our team had no prior experience in writing Solidity code, we were able to develop basic knowledge of this language through tutorials, articles and books.

Vue JS

Vue.js is a JavaScript framework that our team used in developing our client side web application. We have chosen it due to its small size and flexibility when compared with the Angular framework, and its novelty when compared with React. As most of our team had little experience with JavaScript, but were familiar with HTML and CSS, Vue.js provided an easier learning curve that allowed us to develop a pleasing web application in a short amount of time.

Drizzle

Drizzle is a frontend JavaScript framework, used to develop decentralized applications. The frontend libraries that Drizzle provides were used in conjunction with Web3.js, an Ethereum JavaScript API that allows us to interact with the local Ethereum node. Doing so allowed us to easily interact with our smart contract from the frontend. For example, in our "Contract Creation" page, we used Drizzle to retrieve information from our smart contract and associate each input field of the contract form with the desired inputs.

Truffle

Truffle is a "Sweet Tool" we used in developing our smart contracts, a specific framework that allows us to develop and test our Ethereum smart contracts on our personal computers rather than in a web browser. This framework also allows us to deploy our smart contracts to the local Ethereum blockchain and develop a client side application inside the project.

Ganache

Ganache is a Truffle Suite tool that allows users to launch a personal Ethereum blockchain on their computer. With this tool, we were provided with ten accounts, each containing 100 Ethers, that helped us heavily in testing our smart contract and simulating different users who are using our application.

Metamask

MetaMask is cryptocurrency wallet that can be conveniently used as an extension on web browsers such as Google Chrome and Mozilla Firefox. This tool allows us to easily interact with the blockchain from the client side through the web browser. Users of our application can also make Ethereum transactions by sending and receiving Ether after creating a personal account in Metamask with a Ganache account private key.