ERC721 tokens point to unique ebooks, while the data of the book is stored only once (one ISBN number for one Title) on IPFS. Frontend is built on nuxt, with a reselling marketplace where used books can be sold and bought at prices the corresponding owners ask for. The idea is that users should have freedom to do what they want with the content they've paid for. If someone wants to gift a book to a friend, she should be able to do it, or sell it at a price. And books behave as collectables as well.
How It's Made
We used Nuxt for the frontend, Metamask was used to sign the transactions, and infura gateway for IPFS. The contract was built on top of OpenZeppelin's ERC721 token, and additional info was added. To reduce content duplication and further redundancy, all tokens of a given book point towards the same CID, as opposed to each of them having their own CIDs.