This repository includes the specifications for developing the take-home project University Grades SBT
- Fork this repository on your own Github profile
- Follow the project specifications
- Send us the result! 🔥
This take-home project will be based on developing an application for universities to mint they're grades as an SBT.
To be more specific; Your application will permit to login a user with it's wallet, choose the university her/his in, fill a form with its personal information and, with a secret key, he'll be able to mint it's degree SBT to her/his wallet.
To develop this project; Feel free to use the own tech stack you feel more comfortable with.
Though, we do recommend:
There will be no penalties for using any other modern frameworks
On this Figma there is in detail all of the screens designs. Have in mind that one thing that we check is the ability of developing precisely upon design specifications. The specifications are organized by application screens, each one with its designs and functionalities.
In the folder media/
your gonna find all the static files you need.
- Login with your wallet
For this step, you can use industry-standard tools like MetaMask or WalletConnect.
Keep in mind that if a user already minted its grade, the next time he logs in, he'll be redirected directly to the success page.
No error pages are required in this screen.
- Choose your university
The user will be able to choose between different universities that are provided from the backend. Each one will contain a unique secret key that will permit later minting degrees SBTs.
You will be responsible of generating this universities on the DB.
Feel free of searching the university pictures on the internet.
- Fill your personal information
The user will be able to fill its personal information to later customize the SBT metadata.
The grades will be a dropdown of the different grades available provided by the backend.
You will be responsible of generating this grades on the DB. We recommend to atleast generate 5.
The grades are not related to a university.
- Minting page
Since the SouldBound Token (SBT) is still a concept in development (proposed by Vitalik Buterin in this post) and it doesn't have any official ERC standard implementation: We refeer to an SBT as any token non-transerrable once minted
.
The implementation of this restriction is totally up to you.
The SBT will have a custom metadata based on the User preferences as the following:
{
"image": "<the-url-of:media/SBT Image/SBT University image.png uploaded>"
"name": "Your university degree"
"description": "This SBT is a validation of your university degree"
"attributes": [
{
"trait_type": "Degree",
"value": "<user degree>"
},
{
"trait_type": "Name",
"value": "<user name>"
},
{
"trait_type": "Last name",
"value": "<user last name>"
}
]
}
If the selected network is not Mumbai
, an error popup will appear:
- Success page
The success page will show the minted SBT with a redirection link to the SBT on OpenSea.
And that's it! 🔥
Have fun with it ❤️
This repository should store all the information you need to develop the project, but if you have any blockers, don't hesitate to ask us.