Developers Forum for XinFin XDC Network

Cover image for [Hackverse] Keep it Safe(KiS): A decentralized vault for all your university documents!
Dhrupad Sah
Dhrupad Sah

Posted on

[Hackverse] Keep it Safe(KiS): A decentralized vault for all your university documents!

Project Name: Keep it Safe (KiS)

Team Name: Mavericks

Tagline: I'll store your docs by keeping them safe...

Problem it Solves: A document vault decentralised application for students to get their documents and certificates from their universities. Our platform provides this in two ways. The first one using something called Soul Bound Tokens(SBT). As the name suggests the documents issued by the institution as SBT's are permanently minted to the student's address and are non-transferable. These are the documents a student might get need of anytime in his lifetime like their College Degree, Gradesheets and LOR(Letter of Recommendation).
The second one is a time-based document issuing we made possible using a standard called ERC 4907(Rental NFT's). Documents like Institute ID Card should only be available to the students for a fixed limited time. This is what we did. After the timer set by the institute expires, the document automatically burns for the student and the ownership goes back to the institute of issuing. This way institute can prevent the misuse of college documents after a student has graduated.
The major question now is how do we keep all of this under control? We do this by only using domain emails to verify the students and institutes (OTP verification). Only a student studying in a particular institute having the respective email domain can request for a document. Similarly, only the corresponding institution can issue a document/certificate to a student and no one else.
This is how we solve the problem of storing, maintaining, and security of documents by bringing it on chain making it easier for the students as well as institutes.

Challenges we ran into: There were quite a few challenges we came across while building this project. The first one was making our Solidity contracts compatible and running within the XDC architecture. Since we were new to XDC it took us more time than it should to deploy the contracts. The issue was majorly with version mismatches due to Hardhat. But we eventually came across this hurdle using the XDC Docs and examples which were clear and thorough. We made a small mistake of not refering the Docs sooner.
We also faced issues displaying a live counter for our time based documents for the Student Profile. This was due to our lack in experience working with rental NFT's before. We overcame this challenge by being patient and giving the issue some time.
We sat patiently for hours solving the bugs and errors one by one and eventually emerged succesful.
We also faced some time management issues due to having a large frontend to build from scratch in such less time frame. We wasted some of our time in poor team management and work division and had to take some help and advice from our mentors who were with us throughout the hackathon. With our experts to our help we were able to divide and distribute all the work very efficiently and complete the hackathon timely.

Tech Stack: Solidity, Next.js, Hardhat, NodeJS, Postgre, TypeScript, Pinata, Tailwind, Remix, Hardhat

Github URL: https://github.com/Keep-It-Safe/smart-contracts
https://github.com/Keep-It-Safe/kis-dapp

Video Demo: https://youtu.be/qM1FiX6rXeE

Screenshots: Image description
Image description
Image description
Image description
Image description

Team Profile:
Abhishek Bhagat- (https://github.com/abhishekb740)
(https://www.linkedin.com/in/abhishek-bhagat740/)
Vaibhav Pandey- (https://github.com/vaibhav0806)
(https://www.linkedin.com/in/vaibhav0806/)
Dhrupad Sah- (https://github.com/dhrupad-sah)
(https://www.linkedin.com/in/dhrupad-sah-5ab536205/)

XDC Wallet Address: "0x7b2923d66B6b7b2C2fA5BB76eBA7Cc66E7C19B69"

Discussion (0)