Agoric / documentation

User documentation
https://agoric.com/documentation/
Apache License 2.0
15 stars 38 forks source link

Page 2 - How to mint tickets to an event (Wireframe + UI) #977

Closed sufyaankhan closed 2 months ago

sufyaankhan commented 5 months ago

UI Requirements for Mint

image

Product Requirements Document (PRD) for Mint page of Dapp-Agoric-Basics

1. Introduction

1.1 Purpose

The Dapps Agoric Basics Dashboard aims to provide users with a seamless experience for connecting their Kepler wallet, viewing owned assets (specifically IST), and minting concert tickets as NFTs.

1.2 Scope

This document outlines the functional and design specifications for the Dapps Agoric Basics Dashboard. It covers features such as wallet connection, asset display, concert ticket inventory, minting process, and wallet updates.

1.3 Document Conventions

2. Stakeholders

Key stakeholder for this UI is the 3rd party developer who is aiming to learn Agoric platform and contract creation.

3. Functional Requirements

3.1 Wallet Connection

3.1.1 Connect Wallet Button

Upon launching the dashboard, a "Connect Wallet" button should be prominently displayed, allowing users to log in and connect their Kepler wallet.

3.1.2 IST Balance

Once the Kepler wallet is connected, the dashboard should display the amount of IST owned by the user.

3.2 Concert Ticket Inventory

3.2.1 Ticket Types

The page should load three categories of concert tickets: Front Row, Middle Row, and Last Row, each with three available tickets.

3.2.2 Minting Limit

Users should be able to indicate the number of tickets they want to mint for each row. The UI should block or limit the number of tickets to no more than 3 for each row.

3.2.3 Total Calculation

The UI should calculate the total cost based on the price listed for each ticket selected by the user.

3.2.4 Inventory Tracking

The UI should keep track of the inventory of seats and prevent users from minting more than 3 NFTs for each row.

3.3 Minting Process

3.3.1 Mint Button

The dashboard should have a "MINT" button that, when clicked, interacts with the smart contract to mint the exact number of selected tickets.

3.3.2 Wallet Deduction

Upon minting, the UI should interact with Kepler and deduct the total amount from the user's wallet.

3.3.3 NFT Placement

Successfully minted NFT tickets should be placed in the user's wallet.

3.3.4 Inventory Update

The UI should update to reflect the latest inventory of the user's purse after minting.

3.3.5 Insufficient Funds Handling

If there is not enough IST in the wallet, display a graceful error message instructing the user to acquire more IST.

3.4 Wallet and Balance Update

3.4.1 Wallet/Balance Display

The UI should show the updated wallet and balance information after a successful NFT ticket purchase.

3.5 Click and Learn

3.5.1 Sample Code

The UI should provide a section displaying sample code for interacting with the smart contract.

3.5.2 Reference Docs

Include links to reference documentation guiding users on wallet interactions, NFT minting, and related functionalities.

LuqiPan commented 5 months ago

@sufyaankhan can you make sure all future tickets are added to the board, ie: https://github.com/orgs/Agoric/projects/19/views/54

sufyaankhan commented 5 months ago

Sure thing. Added this ticket to the board.