Giter Club home page Giter Club logo

e-certify's Introduction

E-Certify

Blockchain Based Certificate Validation

made-with-react

E-Certify : About

  • It is a blockchain based project for online certificate validation.
  • The major problem of counterfeit certificates can be tackled with the help of E-Certify, as it provides a solution to preserve the genuineness of a certificate.
  • It works on the idea that: β€œOnly the issuer can upload the certificate and the rest people can only view it.” The entire process works on the blockchain in partnership with the IPFS(to provide data security).
  • Does Everything for Certificates : Storing ,Validating and Sharing .
  • Thus this is a modern and hassle-free solution to manage certificates and verify them!
  • This Project was made at SIH 2019

Insight

  • It is D-App on Ethereum.
  • Back-End has Smart Contract
  • Front-end of our Web-App is made with React.Js and our complete frontend components are available at @gauravsharma-gs /dapper-ui (visit)
  • All User-Data is stored on IPFS also every data is first encryted locally and then send to ipfs to have more security

  • It create Multi-Sig Wallets for every student where both Student and his/her Institute is Owner.
  • We are using Metamask Browser Extension to work with Ethereum.
  • We have used Truffle for testing our project

How to Use

Login

  • There are two ways to login
    • Login as Student
    • Login as Institute

  • Upon First Signup Metamask will ask permission to connect your wallet with App.

  • There is an additional security by using OTP for Signup .
  • For Student
    -Student need to connect their account with their Institute by giving Institute Address Key .
  • For Institute
    -Student will to connect their account with Institute.

Dashboard

Student Dashboard

  • Student Dashboard have these options :

  • My Documents

    • Students can upload their Certificates themselves but these certificates need to be verified by Institute side ,only then certificates will appear in my documents section.
  • Give Access

    • Students can give access to any other institute/organisation to his/her certificates , access is only given for limited time (24hr)
  • Change Institute

    • Students can request change of institute , this request is sent to current institute ,Upon approval students institute is changed.

Institute Dashboard

  • Institute Dashboard have these options :

  • Linked Accouts

    • In this section all student accounts linked to institute are shown.
    • Institute can students certificates from here.
    • Also institute can upload new certificates to students from here.
  • Access Rights

    • It shows all the student accounts to whom institute has access ,to see their certificates.
  • Pending Approvals

    • Student requests for certificates approvals appear here .
  • Change Institute Approvals

    • Student requests for change of institute appear here .

Installation

For Development

  • We are using Truffle for testing and development of this project.

  • Also you need to have Metamask Browser Extension.

  • For setting up Truffle (more detailed instruction are avalaible here )

  • Steps :

    • Clone the repo

    $ git clone https://github.com/nikhildsahu/E-Certify.git

    • Setup Truffle

      • Install truffle

      $ npm install -g truffle

      • Unbox React inside any Directory

      $ truffle unbox react

      • Inside that Directory
      • Now replace Contracts folder with Contracts folder present in Repo.
      • Also Copy Complete Repo content in to Client folder.
      • Run the development console

      $ truffle develop

      • Compile and migrate the smart contracts.

      compile

      migrate

      • In the client directory, we run the React app.

      // in another terminal (i.e. not in the truffle develop prompt)

      $ cd client

      $ npm run start

  • Open http://localhost:3000 to view it in the browser.

  • Import Account on Metamask with keys given by Truffle .

  • Testing and Development can be done on these Accounts.

  • Smart contract changes must be manually recompiled and migrated then only it will work.


Contributing

  • We're are open to enhancements & bug-fixes.
  • Feel free to add issues and submit patches.

Authors

License

This project is licensed under the MIT - see the LICENSE file for details.

e-certify's People

Contributors

atharvau avatar dependabot[bot] avatar gauravgs avatar nikhildsahu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

e-certify's Issues

Error while compiling truffle contract

Describe the bug
I am trying to perform the steps as per the readme document. While compiling the contracts I am getting the following error:
deploy/contracts/SimpleStorage.sol:1:1: ParserError: Source file requires different compiler version (current compiler is 0.5.16+commit.9c3226ce.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
pragma solidity 0.4.24;
^---------------------^

Error: Truffle is currently using solc 0.5.16, but one or more of your contracts specify "pragma solidity 0.4.24".
Please update your truffle config or pragma statement(s).
(See https://trufflesuite.com/docs/truffle/reference/configuration#compiler-configuration for information on
configuring Truffle to use a specific solc compiler version.)

Compilation failed. See above.

pragma version error

please change var and other method in code i use 0.5.16 truffle version and it give error when i compile simplestorage.sol contract.
function createNewMultiSigbyUser(address instituteaddress) public {

   // var wa = wallets[msg.sender];
   // wa.inst=instituteaddress;
   // wa.stud=msg.sender;

}

function uploadAadhar(string memory a) public{

// var wa=wallets[msg.sender];

change in both function

i am unable to understand how to run this code

this lines you have quote:
Inside that Directory
Now replace Contracts folder with Contracts folder present in Repo.
Also Copy Complete Repo content in to Client folder.
from the above lines there are total 3 to 4 contracts folder from which we have to replace the contracts folder with i am unable to understand and the client folder is already present why and where i have to copy complete repo can you plz just set all the folders and simply i can git clone in my vs code and run easily i am facing very difficulties plz help me out or either give me a video link in which you show how to run your project thanks in advance but reply me soon

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.