jwbnw / licence-me

ui for license me project
MIT License
0 stars 0 forks source link

Plan Projects #1

Open jwbnw opened 1 month ago

jwbnw commented 1 month ago

Create a High Level Plan for the project. Can be documented on this ticket.

jwbnw commented 1 month ago

Some Notes:

High Level:

What I'd like to do, at the simplest level, is build out a new decoupled application using the Solana Blockchain that allows photographers to upload an image and license usage to anyone with one click. There are future features that I'd like to add such as NFT minting. However, for the MVP, if we could have some kind of creator page where the user can upload an image and set a price for licensing then get a "sharable link" where if they send that link to another user they can pay for a license to use said image, that would be fantastic.

MVP:

At it's simplest form the creator page can be done by connecting a wallet. This will give the option to "License an Image" upon clicking this btn the user will be asked to upload an image and sign an agreement with their wallet, they can then set a price and complete. Once this is done they will receive a sharable link which they can then give to others to license the image for usage.

Upon clicking the link the purchasing user will be able to see the image and an option to license this image. They can then use a Solana wallet directly or Solana Pay with a credit card to pay the licensing fee. Once they have done so they will be provided a link that will point to a contract on-chain which documents the two parties and their contract.

I will need some way for the user to see their current images for licensing alongside users who have licensed an image. I could do this serverside by persisting the wallet addy with the image into an RDBMS info then yoinking that up to the client on connect. However, it would be nice to keep everything on-chain. I wonder if I can create a contract to house a "creator image" and associated image. I can then query the blockchain for that address with my contract and pull back any data. I could do the same when an image is licensed, create a contract, then search for the wallet that licensed the image on that contract and pull it back. Obviously there are trade offs. Idk I'll probably need to research this.. See This Item https://github.com/users/jwbnw/projects/2/views/1?pane=issue&itemId=72924958

Components Needed:

Questions/Research Needed: