NFTRoad is the Platform for content creators and their customers that uses NFTs as a subscription and access to the course.
There are two types of users at NFTRoad platform: Content Creators and Customers. Creator can upload their courses on NFTRoad and turn access to the course into NFTs with limited supply. In this way, Creators will get higher demand for their courses and will earn more money (royalties) from customers who will resell their NFTs (access to a course). Customers can buy any access to the course as NFT, and after they finish the course they can resell NFTs at a high price and gain not only new knowledge but additional income.
How it's made
The project consists of two parts: solidity smart contract and frontend hosted on netlify. Our customers sell subscriptions to courses as NFTs. It gives them a possibility of great marketing and distribution due to the fact that buyers can resell their NFTs and share royalty with them. It means that we have a set of semi-fungible tokens. To implement them we have used the ERC1155 standard. It allows to nicely represent all the courses on-chain and give users a way to easily purchase copies of each individual course. To go even further to simplify the technical side we have decided to make backed as lean as possible. To implement that we made two decisions: 1) we save all course data on the blockchain, luckily deployment to Polygon and Harmony allows us to do it 2) we save heavy user data, like course preview on the IPFS. Interesting solution was interaction with IPFS directly from the frontend side to upload user files and return a link to the image that is then written to the blockchain record as part of the course creation. The next important part is to secure unlockable content, for that part, we would need to implement a lean backend that would make sure that the user actually owns the wallet by asking the user to sign a nonce that is generated on the backend. https://docs.google.com/presentation/d/12PRkNElVTGxoSBhZauPGTkOlGJwV_Cp1jD9bpHn2D4k/edit?usp=sharing