The problem deCertify solves
deCertify
Problems in the current procedure
- Companies/Universities are concerned whether a certificate provided to them is legit or forged.
- Manual verification/offline visits is a tedious procedure and takes weeks to complete.
- Use of physical documents is also inconvenient and inefficient in today’s fast paced digital world.
- Physical documents can be misplaced easily.
Features
- Complete and Seamless integration with Celo Blockchain.
- Students can request to receive verified documents from Organization.
- Organization can certify documents and upload verified document along with seal of verification(embedded QR Code) to IPFS.
- Organization may ask for an optional issuance amount for issuing the document from the student
- Any institue or individual seeking verification of documents, can do so by accessing the blockchain and verifying the hash with some optional verification charge.
deCertify works as follows:
-
Student - App Only
In the app, a student can request for an e-certificate to the organization. There might be charges associated with this request to get the documents certified by the organization.
-
Institute/Organization - Web Only
After logging in, the organization can view all pending and approved requests, view their documents and have the option to upload them to IPFS after embedding a seal of verification (QR Code) into the PDF.
-
Verifier - App Only
Suppose an employer wants to verify a document submitted by a student. They can just scan the QR Code on the document and check if it matches with the hash of the IPFS document. A report violation will be generated upon false document detection.
Challenges we ran into
- Although the Celo starter kit for both app and web were convenient, there were major dependency deprecations and setup issues we had to face (especially in React Native).
- Installing packages for file upload and QR Code scanner into the React Native app also required dependency hopping to get the correct versions matched.
- Perhaps the biggest roadblock was embedding the QR Code in a document on the admin panel. Generation of QR Code from a generated UUID was easy, but embedding it in the bottom right corner of the document took us hours to figure out. We used various npm libraries like jspdf, pdflib-js, merge-pdf, etc. before figuring out the final method