User Stories
Users
- Developer - The developers are responsible for the initial development, maintenance and administration of the Band T-Shirts application.
- Band - they serve as the designated authority for merchandise and the associated Digital Collectibles. The inclusion of these users in the communication loop is imperative to uphold the official status of these transactions.
- Seller - The seller, in this context, is presumed to be synonymous with the merchandise retailers typically present at concerts. In addition to vending tangible items such as t-shirts, they will also undertake the minting of digital collectibles for the fans.
- Fan - The fan base comprises the ultimate end users and consumers of both the physical merchandise and the digital collectibles associated with Band T-Shirts.
Stories
Developer and Seller - Smart contract purchase
In my role as a seller, I want to be able to procure a Band t-shirt smart-contract from the developers at a predetermined and market-driven cost, so that I can facilitate the attachment of digital collectibles to the merchandise I offer for sale. The contractual agreement should incorporate the unique address specific to the band in question as a form of authenticity.
Acceptance Criteria: Given the user navigates to the Band T-shirts website and has possession of an Ethereum (ETH) wallet, the initiation of the purchase process involves entering requisite details on the purchase page. After which, the contract is minted and seamlessly added to the user’s wallet. :::
Seller - pre-mint digital collectibles
As a seller, I want to mint a restricted quantity of digital collectibles, so that I may sell them to fans with merchandise. This limitation is intended to ensure their availability for purchase and enhance their intrinsic value over time.
Acceptance Criteria: Given contract has been purchased from developers and Seller “logs in” to Band TShirts site / app, when they enter details about the concert and the number of digital collectibles and press the UI button, then the digital collectibles should be minted and the contract data should be updated to include these
Fan and Seller - buy digital collectible
As a fan at a concert, I want to be able to acquire a digital collectible with fields updated specific to the purchased merchandise and seamlessly integrate it into my wallet. Additionally, I would like to include supplementary data, such as a photograph capturing the moment in front of the stage or with the band should I be so lucky. This multifaceted information serves the purpose of providing tangible proof of attendance and contributes to the development of a comprehensive catalog of my Band t-shirts collection as a devoted fan.
Acceptance Criteria: Given the fan possesses a crypto wallet (eg. for Ethereum) and has installed the wallet application, potentially Metamask on their device *, the process unfolds as follows: when the fan initiates a purchase request for merchandise and a digital collectible, tapping their smart device on the seller’s device, then one of the minted NFTs should be updated with relevant user data and allocated to the user by adding it to their wallet.
* - The elaboration on Metamask is intended to furnish comprehensive information. However, the anticipated implementation, at least in the future, is likely to employ Account Abstraction. This approach aims to alleviate the necessity for intricate knowledge concerning the interaction with cryptographic assets.
Sequence Diagram
Title Fan Initiates Purchase Request for Merchandise and Digital Collectible
participant Fan
participant WalletApp
participant SellerDevice
database Blockchain
note over Fan: Given the fan possesses a crypto wallet\nand has installed the wallet application\n(e.g., Metamask) on their device
note over WalletApp: For example Metamask - but likely to remove any \nneed for interaction through account abstraction
Fan -> WalletApp: Initiate Purchase Request
activate Fan
activate WalletApp
WalletApp ->SellerDevice: Initiate Purchase Request
activate SellerDevice
Fan -> SellerDevice: Tap on Seller’s Device
SellerDevice -> Blockchain: Update NFT with User Data
activate Blockchain
Blockchain —> WalletApp: Updated NFT added to wallet
deactivate Blockchain
deactivate SellerDevice
deactivate WalletApp
Fan —>Fan: Happy :)
deactivate Fan
Fan - view digital collectibles
As a fan, I want to view, sort, and filter my collection of Band TShirts digital collectibles so that I can gain a comprehensive overview of my possessions, facilitating organization based on factors such as individual bands, specific items, monetary value, and other relevant criteria.
Acceptance Criteria: Given fan has personal wallet(s) holding Band T-Shirts NFTs, when they interact with the Band T-Shirts web application, then they should be able to sort and filter Band TShirts data from it for those they have purchased
Sequence Diagram
title Fan Interacts with Band T-Shirts Web Application
FanWallet -> WebApp: Interaction Request
activate FanWallet
activate WebApp
WebApp -> Blockchain: Retrieve Fan’s NFT Data
activate Blockchain
Blockchain —> WebApp: Fan’s NFT Data
deactivate Blockchain
WebApp -> WebApp: Sort and Filter NFT Data
WebApp —> FanWallet: Display filtered and Sorted NFTs
Developer - compensation for service
As a developer, I want each initial purchase and ongoing market sales to yield a benefit, so that I can derive a livelihood from Band T-Shirts service.
Acceptance Criteria: Given the developer has previously minted a contract for the seller, when the seller proceeds to sell a digital collectible to a fan making a purchase of a merchandise, then the developer is entitled to receive a commission, potentially set at 1%, although the exact percentage may be determined at a later date.
Developer - ecosystem overview
- As a developer, I want to see how many contracts have been minted for Sellers and how many contracts the Sellers have minted
Acceptance Criteria: Given developer had minted contract for seller, when the developer looks at BTS App/WebSite, then they should see the contracts they have minted, which seller (wallet) owns them and stats on the contracts minted from that
- As a Band, I want to be able to mint a limited number of digital collectibles so that they are availble to be purchased outside of concerts or can be gifted to fans. The digital collectibles can represent the following: Tradable token for physical goods such as concert tickets, other merch, back stage passes etc…
Unique digital items such as signed photo, where that digital item has an identifier linking it to the digital collectible.
Acceptance Criteria:
- As a Band, I want to be able to sell or gift one of the limited number of these digital collectibles
Acceptance Criteria:
- As a Seller or Band, I want to be able to easily enable fans to be wallet savvy and setup to be able to purchase digital collectibles
Acceptance Criteria: