Skip to content

DApp for creating and issuing certifications in Ethereum and IPFS

Notifications You must be signed in to change notification settings

asuarezgrupobme/dCertify

Repository files navigation

dCertify

Introduction

DCertify is a decentralized application that allow institutions to create and issue certifications to students. Storing data in a blockchain is expensive so DCertify store institutions and certifications info in IPFS and link these files by using the IPFS hashes.

DCertify identifies the role associated to the Ethereum address selected in Metamask and display custom pages based on this role.

DCertify uses Metamask to send and sign transactions and detect automatically account changes (different roles).

Roles

There are three different roles with different permissions and capabilities:

  • Admins:
    • Can add other admins
    • Can add institutions
    • Can update cost of issuing a certification
  • Institutions:
    • Can add certifications
    • Can view their certifications
    • Can issue certifications to students
  • Students:
    • Can view the list of certifications they have received
    • Can decide whether they want to make their certifications public or not

Setup

Setting up DCertify is pretty simple. This project has been created with Truffle. Please follow the following instructions to run DCertify:

  1. install git (if not installed yet) and clone the repository to your local machine:

git clone https://github.com/asuarezgrupobme/dCertify.git

install node.js and npm (if not installed yet) and install node packages for the project:

npm install

install truffle (if not installed yet):

npm install -g truffle

  1. Edit the truffle.js file to match your network settings. You may need to edit the IP and port where your RPC Server (Ganache) is running (http://127.0.0.1:7545 by default).

  2. Compile and migrate your contracts from within your project folder:

truffle compile

truffle migrate

Note: keep in mind that the account[0] will be associated an Admin role. You can run the tests for the smart contracts by running:

truffle test

most tests have been implemented in JavaScript.

  1. Install and configure Metamask to point to your network. You will need at least 3 different accounts to fully test all functionality (admin, institution and student).

  2. Start your application:

npm run start

  1. Browse to: http://localhost:3000

Youtube Video

Below you can find a video showing main functionalities:

IMAGE ALT TEXT HERE

Video link

About

DApp for creating and issuing certifications in Ethereum and IPFS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published