Inspiration

Many people have submitted fake diplomas to job applications, as they are simply pieces of paper and difficult to verify. Often, employers will not bother verifying the diploma or send an inquiry to the university and wait a long while for a response. This will make the honest people who went through the hard work of college and paid expensive tuition get cheated out of the workforce.

What it does

To mitigate this problem, we will build a Dapp (decentralized app) that can issue and store OSU student diplomas on a blockchain. This way, employers can verify a person's diploma by checking a link to the digital diploma. The blockchain is secure, immutable (unchangeable), and decentralized, which means anyone who views the digital diploma can agree with its validity. It prevents anyone from creating, altering, removing, and duplicating a diploma. Admins will have special privileges for creating, changing, and removing diplomas, though.

How I built it

In the beginning, we used Adobe XD to design the layout of our pages. It was the best way to visually design how our website was going to look. Then we used Bootstrap Studio to redesign our website visually with html and css. We exported the code and converted it to react code later during our web development.

We built the frontend with html, css, javascript/node.js, bootstrap, and redux on the react framework. All the smart contracts that power the backend run on the Ethereum blockchain. The smart contracts are built on the solidity programming language.

We used Ganache, Truffle, and Metamask as Ethereum blockchain developer tools. Ganache served as the local blockchain. Truffle helped us build and deploy our smart contract to the blockchain. And Metamask was a blockchain wallet that gave us the ability to interact with the blockchain (e.g. send transactions, receive data).

Challenges I ran into

Writing out all the test cases for our smart contract was both new and tedious for us. However, it turned out to be very helpful as it helped as discover bugs and vulnerabilities in our smart contract. This way we didn't have to sort the problems out while we were doing the web development. Another major problem we encountered was getting our bootstrap designs to look good on the react app. When we exported the html and css from bootstrap studio and converted it to es6 (react) code, all the layout constraints weren't right and looked like a messed up website. So we had to spend a good chunk of time fixing that.

Accomplishments that I'm proud of

In addition to the things we learned, we were very satisfied with the way the website looked. It looked clean, modern, and simple. All the functionality was working and our project could actually solve a real-world problem.

What I learned

We learned how to work with the Ethereum blockchain for the first time. We got to write out our own smart contract and deploy it to a local blockchain with Ganache. We also advanced our react knowledge by using web3 and a chrome browser extension called Metamask to interact with the blockchain. For some of us, this hackathon also served as a refresher to html and css.

What's next for DiploCheck

We will add support for IPFS (InterPlanetary File System) so that we can store the pictures of all graduates in a decentralized manner. It is essentially a blockchain for files, whereas the blockchain we used in this project could only support textual data. This will make DiploCheck better verifiable since you can check if the job applicant's face matches the one on the site.

Share this project:

Updates