LogoLogo
PAO DocsCommunity DocsInfrastructure DocsPeerplays.com
  • Developer Documentation
  • API Reference
    • Peerplays Core API
      • Popular API Calls
      • Account History
      • Asset API
      • Block API
      • Crypto API
      • Database API
      • Network Broadcast API
      • Network Nodes API
      • Orders API
    • Wallet API
      • Account Calls
      • Asset Calls
      • Blockchain Inspection
      • General Calls
      • Governance
      • Privacy Mode
      • Trading Calls
      • Transaction Builder
      • Wallet Calls
    • Bookie API
      • General Calls
      • Listeners
      • Tournaments
  • Peerplays API Libraries
    • Python Peerplays
      • Installation
      • Creating an Account
      • Creating a Peerplays Wallet
      • NFT API
      • Marketplace API
      • Role Based Permissions API
  • Development Guides
    • Creating User Issued Assets
    • Introduction to Permissions
    • NFT Minting
    • Calculating Costs
  • The Cookbook
    • NFTs for Staking Creator Tokens
  • Tools and Integrations
    • PeerID
      • 1.0.0
        • Infrastructure
          • Deployment on a Linux Serve
          • Deployment to AWS ECS
            • Building the Docker Images
            • Storing Secrets in Amazon Parameter Store to use in ECS
            • Creating the Task Definition
            • Creating the Cluster
            • Creating the Service
        • Development
          • How does PeerID work without storing the keys ?
          • Authentication with PeerID
          • Brain Storming
          • Software Requirements
      • Authentication with PeerID
      • Requirements Specification
    • Random Number Generator
      • RNG Technical Summary
      • RNG API
  • Supporting & Reference Docs
    • Peerplays Development FAQs
    • Sidechain Operator Node (SON) Development
      • Generic Sidechain Docs
        • Quick joining GLADIATOR
        • Changes to Peerplaysjs-lib
        • Requirements Specification
        • Low Level Designs
          • bitcoin-deposit-handling-lld
          • bitcoin-operations-draft
          • bitcoin-sidechain-handler-lld
          • bitcoin-sidechain-multisig-bitcoin-wallet-and-bitcoin-addresses-pw
          • bitcoin-withdrawal-handling-lld
          • btc-address-scripting-mechanism
          • comparison-between-scenarios-for-handling-deposits-and-withdrawals
          • exchange-rate-list
          • generic-sidechain-deposit-hld
          • generic-sidechain-high-level-design
          • generic-sidechain-listener-hld
          • generic-sidechain-withdrawal-hld
          • refund-btc-mechanism
          • son-configuration
          • son-consensus-communication-and-transaction-signing-on-chain-lld
          • son-de-register-proposals-lld
          • son-objects-and-operators
          • son-rewards-lld
          • son-voting-lld
          • son-wallet-list_sons-lld
          • creation of a multi-sig bitcoin address lld
          • claiming initial son vesting lld
          • changeover and SON maintenance scenarios lld
          • user-sidechain-addresses-mapping
          • wallet-commands-for-son
        • Functional Specs
          • SON Configuration
          • SON rewards
          • SON Voting and Consensus
          • SONs switchover scenarios
          • SON Status Operations & Monitoring
          • Proposals
          • SON Smart Contracts
      • Bitcoin Sidechain Docs
        • Functional Specs
          • btc-refunds
          • voting-and-consensus
          • son-switchover
          • son-rewards
          • son-proposals
          • son-configuration
          • heartbeat-monitoring
          • BTC Transaction Processing & Signing
          • Bitcoin Withdrawal Handling
          • Bitcoin Deposit Handling
          • SON Multisig Bitcoin Wallet
      • Hive Sidechain Docs
        • Functional Specs
          • HIVE Deposit Handling
          • HIVE Withdrawal Handling
    • Peerplays DEX Development
      • Peerplays NEX
        • Functional Specifications
          • NEX-FS01 Dashboard Page
            • NEX-FS12 ETH-SONs Deposit/Withdraw Functionality
          • NEX-FS02 Login and Account Creation
          • NEX-FS03 Menus and Nav
          • NEX-FS04 Notifications
          • NEX-FS05a Market Page (alpha)
          • NEX-FS05 Market Page
          • NEX-FS06 Profile Page
          • NEX-FS07 Wallet Functions
          • NEX-FS08 App Settings
          • NEX-FS09 Blockchain Page
          • NEX-FS10 GPOS Page
          • NEX-FS11 WhaleVault Integration
      • Requirements Specification
      • Functional Specs
        • Asset Info Page and Asset Lists
        • Dashboard
        • Exchange Page
        • Login and Account Creation
        • User Account Page
        • Voting Page
    • SPK Network
      • Functional Specs
        • Claimdrop Snapshot Functional Specification
        • Initial Claimdrop Functional Specification
    • NFT Development
      • NFT Store
        • NFT Store User Stories
        • NFT Store UI HLD
        • NFT Store Requirements Specification
        • Functional Specifications
          • APP-FS01 App Header
          • APP-FS02 App Body
          • APP-FS03 App Footer
          • APP-FS04 App Navigation
          • APP-FS05 Wallet Functions
          • APP-FS06 App Home Page
          • APP-FS07 Account Page
          • APP-FS08 Browse View
        • App Page List
        • Requirement Traceability Matrix
    • Operation IDs List
    • Sidechain Flow Diagram (HIVE coin)
    • Sidechain Flow Diagram (Bitcoin)
    • Sidechain Flow Diagram (Ethereum coin)
    • TradeHands Explorer
      • User Personas
      • User stories
      • APP-FS01 Detailed View
      • Draft: APP-FS02 Front Page
      • APP-FS03 Collection Details Page
    • Grafana
      • Grafana Installation
      • Install Grafana Behind reverse proxy
      • Loki Installation
      • Promtail agent Installation
      • Grafana Explorer
    • NEX Deployment & Configuration
      • NEX Deployment
      • NEX - Blockchain API configuration
      • Deploying NEX in a HA scenario
    • API Node
      • MarketCap API
    • TOTO Application
      • FS-Subscription Plan
      • FS-Achievements
  • Development Workflow Docs
    • Development Workflow
  • Other Documentation
    • Peerplays Home
    • Community Docs
    • Infrastructure Docs
    • Site Reliability Engineering
Powered by GitBook
On this page
  • 1. Purpose
  • 2. Document Tracking
  • 2.1. Parent Document
  • 2.2. Categorization
  • 3. Scope
  • 3.1. Components
  • 4. Document Conventions
  • 5. Context
  • 6. Design Wire-frames
  • 6.1. Browsing View Layout
  • 6.2. Peer Object Browsing Views
  • 6.3. Gallery Object Browsing Views
  • 6.4. Collection Object Browsing Views
  • 6.5. NFT Object Browsing Views
  • 6.6. Activity Object Browsing Views
  • 7. Requirements
  • 7.1. Compact Lists
  • 7.2. Roomy Lists
  • 7.3. Grids
  • 7.4. Mosaics
  • 7.5. Search, Filter, and Sort while Browsing
  • 7.6. Pagination Controls
  • 8. Appendix A: Glossary

Was this helpful?

Export as PDF
  1. Supporting & Reference Docs
  2. NFT Development
  3. NFT Store
  4. Functional Specifications

APP-FS08 Browse View

The Peerplays NFT Store application functional requirements specification for the browsing views of objects.

PreviousAPP-FS07 Account PageNextApp Page List

Last updated 3 years ago

Was this helpful?

1. Purpose

The purpose of this functional specification (FS) document is to detail functional requirements for the Peerplays NFT Store application (the “app”) relating to the object lists from a business and user perspective.

2. Document Tracking

2.1. Parent Document

This document is a child document of the NFT Store .

2.2. Categorization

This document relates to the following tags.

App Component

Page

Page Fragment

3. Scope

This FS will describe the requirements and basic design for the app’s object lists.

3.1. Components

Specific components and features covered in this FS include:

  • Browsing Views for each object (Peers, Galleries, Collections, NFTs, and Activities)

    • Compact Lists

    • Roomy Lists

    • Grids

    • Mosaics

  • Search, Filter, and Sort while Browsing

  • Pagination Controls

4. Document Conventions

For the purpose of traceability, the following code(s) will be used in this functional specification:

Code
Meaning

APP-FS08-#

App Component Requirement - Browse View

The keyword shall indicates a requirement statement.

The keywords may, could, and should are not requirements but rather indicate items related to requirements that are worthy of consideration.

The following terms are used to describe specific users of the application:

  • Unauthenticated (not logged in) users are known as visitors.

  • Authenticated (logged in) users are known as peers.

The following terms are used to describe levels of user entitlement within the application:

  • A browser is view only (except for account creation and logging in) and used for visitors.

  • An enjoyer can interact with the market, including buying and optionally re-selling NFTs, but can’t make new NFTs.

  • A tenant can create NFTs and sell them in addition to what the enjoyer can do.

  • A client is an administrator level user with all entitlements.

5. Context

For a complete app, users must be able to view many related objects on one page. The way these objects are presented must be flexible to provide a high level of customization by the end user. Users have different needs depending on their goal. Some users want a dense and information rich display while others want a minimal or image focused display.

6. Design Wire-frames

The wire-frames listed below are meant to represent the app’s browsing views in various states. These are provided to assist in understanding of what features may look like or their potential use. Final designs may be vastly different from these images.

6.1. Browsing View Layout

6.2. Peer Object Browsing Views

6.3. Gallery Object Browsing Views

6.4. Collection Object Browsing Views

6.5. NFT Object Browsing Views

6.6. Activity Object Browsing Views

7. Requirements

Requirements specific to the items listed in this FS are as follows.

7.1. Compact Lists

The compact list browsing views:

APP-FS08-1: shall display information about its objects in a tabular format.

APP-FS08-2: shall display a header row with column names.

APP-FS08-3: shall provide controls in the header to sort columns based on their values, if appropriate.

APP-FS08-4: shall display columns of a width appropriate for their values.

APP-FS08-5: shall highlight row which the user is hovering on.

APP-FS08-6: shall highlight row which the user has clicked on (focused).

APP-FS08-7: shall provide a contextual menu icon while the user is hovering on the object record.

This context menu (for Peers, Galleries, Collections, and NFTs) shall contain the following options:

  • follow this [object]

  • flag for moderation

This context menu (for Activities) shall contain the following options:

  • follow this [object]

If the user owns the object, the context menu (for Peers, Galleries, Collections, and NFTs) shall contain the following instead:

  • edit [object]

  • delete [object]

APP-FS08-8: shall display values with rich media where appropriate (images, notification bubbles, icons, tags, etc.)

APP-FS08-9: shall provide links within the table values for easy navigation and / or functions (follow this peer, etc.)

7.1.1. Peers

Compact lists for Peer object records:

APP-FS08-10: shall include, but is not limited to, the following fields related to each object:

  • avatar image

  • public display name

  • number of views

  • number of follows

  • number of NFTs in the Display Case

  • number of galleries (and list of popular galleries)

  • number of collections (and list of popular collections)

  • number of NFTs on sale (or auction)

  • number of recent activities

7.1.2. Galleries

Compact lists for Gallery object records:

APP-FS08-11: shall include, but is not limited to, the following fields related to each object:

  • gallery image

  • gallery name

  • gallery creator

  • number of views

  • number of follows

  • number of collections (and list of popular collections)

  • number of NFTs on sale (or auction)

  • number of recent activities

7.1.3. Collections

Compact lists for Collection object records:

APP-FS08-12: shall include, but is not limited to, the following fields related to each object:

  • collection image

  • collection name

  • gallery name

  • collection creator

  • number of views

  • number of follows

  • number of NFTs on sale (or auction)

  • number of recent activities

7.1.4. NFTs

Compact lists for NFT object records:

APP-FS08-13: shall include, but is not limited to, the following fields related to each object:

  • NFT image

  • NFT name

  • collection name

  • NFT owner

  • number of views

  • number of follows

  • list of tags (categorizations, traits, other NFT specific metadata)

  • number of recent activities

  • current price (sale) or current bid (auction)

  • accepted currency

  • user control to buy or place a bid

  • price data (% change)

  • volume data

  • remaining time at auction

7.1.5. Activities

Compact lists for Activity object records:

APP-FS08-14: shall include, but is not limited to, the following fields related to each object:

  • date and time of activity

  • activity name (tag)

  • detailed activity description with relevant links

  • transaction ID

  • fee

7.2. Roomy Lists

The roomy list browsing views:

APP-FS08-15: shall display information about its objects in a multi line list format.

APP-FS08-16: shall display one or two columns as appropriate based on responsive design media queries (screen width).

APP-FS08-17: shall highlight object record which user is hovering on.

APP-FS08-18: shall highlight object record which user has clicked on (focused).

APP-FS08-19: shall provide a contextual menu icon while the user is hovering on the object record.

This context menu (for Peers, Galleries, Collections, and NFTs) shall contain the following options:

  • follow this [object]

  • flag for moderation

This context menu (for Activities) shall contain the following options:

  • follow this [object]

If the user owns the object, the context menu (for Peers, Galleries, Collections, and NFTs) shall contain the following instead:

  • edit [object]

  • delete [object]

APP-FS08-20: shall display values with rich media where appropriate (images, notification bubbles, icons, tags, etc.)

APP-FS08-21: shall provide links within the object record values for easy navigation and / or functions (follow this peer, etc.)

7.2.1. Peers

Roomy lists for Peer object records:

APP-FS08-22: shall include, but is not limited to, the following fields related to each object:

  • avatar image

  • public display name

  • social media links

  • public profile description (if available)

  • gallery names with links (if available)

  • collection names with links (if available)

  • number of views

  • number of follows

  • number of NFTs in the Display Case

  • number of galleries

  • number of collections

  • number of NFTs on sale (or auction)

  • number of recent activities

7.2.2. Galleries

Roomy lists for Gallery object records:

APP-FS08-23: shall include, but is not limited to, the following fields related to each object:

  • gallery image

  • gallery name

  • gallery creator

  • gallery description (if available)

  • sample of collection images (if available)

  • list of tags (categorizations, traits, other metadata)

  • number of views

  • number of follows

  • number of collections

  • number of NFTs on sale (or auction)

  • number of recent activities

7.2.3. Collections

Roomy lists for Collection object records:

APP-FS08-24: shall include, but is not limited to, the following fields related to each object:

  • collection image

  • collection name

  • gallery name

  • collection creator

  • collection description (if available)

  • sample of NFT images (if available)

  • list of tags (categorizations, traits, other metadata)

  • number of views

  • number of follows

  • number of NFTs on sale (or auction)

  • number of recent activities

7.2.4. NFTs

Roomy lists for NFT object records:

APP-FS08-25: shall include, but is not limited to, the following fields related to each object:

  • NFT image

  • NFT name

  • collection name

  • NFT owner

  • NFT description (if available)

  • list of tags (categorizations, traits, other metadata)

  • number of views

  • number of follows

  • number of recent activities

  • current price (sale) or current bid (auction)

  • accepted currency

  • user control to buy or place a bid

  • price data (% change)

  • volume data

  • remaining time at auction

7.2.5. Activities

Roomy lists for Activity object records:

APP-FS08-26: shall include, but is not limited to, the following fields related to each object:

  • date and time of activity

  • small activity graphical diagram (see section 6.6 above for examples)

  • activity name (tag)

  • detailed activity description with relevant links

  • transaction ID

  • fee

7.3. Grids

The grid browsing views:

APP-FS08-27: shall display information about its objects in a grid (card) format.

APP-FS08-28: shall display one to six columns as appropriate based on responsive design media queries (screen width).

APP-FS08-29: shall highlight object record which user is hovering on.

APP-FS08-30: shall highlight object record which user has clicked on (focused).

APP-FS08-31: shall provide a contextual menu icon while the user is hovering on the object record.

This context menu (for Peers, Galleries, Collections, and NFTs) shall contain the following options:

  • follow this [object]

  • flag for moderation

This context menu (for Activities) shall contain the following options:

  • follow this [object]

If the user owns the object, the context menu (for Peers, Galleries, Collections, and NFTs) shall contain the following instead:

  • edit [object]

  • delete [object]

APP-FS08-32: shall display additional information, if available, while the user is hovering and / or focused on the object record.

APP-FS08-33: shall display values with rich media where appropriate (images, notification bubbles, icons, tags, etc.)

APP-FS08-34: shall provide links within the object record values for easy navigation and / or functions (follow this peer, etc.)

7.3.1. Peers

Grids for Peer object records:

APP-FS08-35: shall include, but is not limited to, the following fields related to each object:

  • avatar image

  • public display name

  • number of NFTs in the Display Case

  • number of galleries

  • number of collections

  • number of NFTs on sale (or auction)

Additionally, when hovered and / or focused, include:

  • social media links

7.3.2. Galleries

Grids for Gallery object records:

APP-FS08-36: shall include, but is not limited to, the following fields related to each object:

  • gallery image

  • gallery creator avatar image

  • gallery name

  • gallery creator name

  • gallery description (if available)

Additionally, when hovered and / or focused, include:

  • list of tags (categorizations, traits, other metadata)

7.3.3. Collections

Grids for Collection object records:

APP-FS08-37: shall include, but is not limited to, the following fields related to each object:

  • collection image

  • collection name

  • gallery name

  • collection creator

  • collection description (if available)

  • number of NFTs on sale (or auction)

Additionally, when hovered and / or focused, include:

  • list of tags (categorizations, traits, other metadata)

7.3.4. NFTs

Grids for NFT object records:

APP-FS08-38: shall include, but is not limited to, the following fields related to each object:

  • NFT image

  • NFT name

  • collection name

  • remaining time at auction

  • current price (sale) or current bid (auction)

  • accepted currency

  • user control to buy or place a bid

Additionally, when hovered and / or focused, include:

  • NFT owner

  • list of tags (categorizations, traits, other metadata)

7.3.5. Activities

Grids for Activity object records:

APP-FS08-39: shall include, but is not limited to, the following fields related to each object:

  • date and time of activity

  • medium activity graphical diagram (see section 6.6 above for examples)

  • activity name (tag)

  • detailed activity description with relevant links

  • transaction ID

7.4. Mosaics

The mosaic browsing views:

APP-FS08-40: shall display information about its objects in a mosaic tile (tessellation) format.

APP-FS08-41: shall display one to six columns as appropriate based on responsive design media queries (screen width).

APP-FS08-42: shall highlight object record which user is hovering on.

APP-FS08-43: shall highlight object record which user has clicked on (focused).

APP-FS08-44: shall provide a contextual menu icon while the user is hovering and / or focused on the object record.

This context menu (for Peers, Galleries, Collections, and NFTs) shall contain the following options:

  • follow this [object]

  • flag for moderation

This context menu (for Activities) shall contain the following options:

  • follow this [object]

If the user owns the object, the context menu (for Peers, Galleries, Collections, and NFTs) shall contain the following instead:

  • edit [object]

  • delete [object]

APP-FS08-45: shall display additional information, if available, while the user is hovering and / or focused on the object record.

APP-FS08-46: shall display values with rich media where appropriate (images, notification bubbles, icons, tags, etc.) while the user is hovering and / or focused on the object record.

APP-FS08-47: shall provide links within the object record values for easy navigation and / or functions (follow this peer, etc.)

7.4.1. Peers

Mosaics for Peer object records:

APP-FS08-48: shall include, but is not limited to, the following fields related to each object:

  • avatar image

Additionally, when hovered and / or focused, include:

  • public display name

  • number of galleries

  • number of collections

  • number of NFTs on sale (or auction)

7.4.2. Galleries

Mosaics for Gallery object records:

APP-FS08-49: shall include, but is not limited to, the following fields related to each object:

  • gallery image

Additionally, when hovered and / or focused, include:

  • gallery name

  • gallery creator name

  • list of tags (categorizations, traits, other metadata)

7.4.3. Collections

Mosaics for Collection object records:

APP-FS08-50: shall include, but is not limited to, the following fields related to each object:

  • collection image

Additionally, when hovered and / or focused, include:

  • collection name

  • gallery name

  • collection creator

  • number of NFTs on sale (or auction)

  • list of tags (categorizations, traits, other metadata)

7.4.4. NFTs

Mosaics for NFT object records:

APP-FS08-51: shall include, but is not limited to, the following fields related to each object:

  • NFT image

Additionally, when hovered and / or focused, include:

  • NFT name

  • remaining time at auction

  • current price (sale) or current bid (auction)

  • accepted currency

  • user control to buy or place a bid

  • list of tags (categorizations, traits, other metadata)

7.4.5. Activities

Mosaics for Activity object records:

APP-FS08-52: shall include, but is not limited to, the following fields related to each object:

  • relative time of activity

  • large activity graphical diagram (see section 6.6 above for examples)

  • activity name (tag)

  • transaction ID

7.5. Search, Filter, and Sort while Browsing

The browsing view, in the context of searching, filtering, sorting, and display:

APP-FS08-53: shall allow the user to hide and unhide the search menu.

APP-FS08-54: shall display the active text search query and active filters to the user.

APP-FS08-55: shall allow the user to cancel any individual active text search query or filter.

APP-FS08-56: shall allow the user to cancel all active text search queries and filters with one “clear all“ (or similar) function.

APP-FS08-57: shall provide a text search control with all standard search control features. (See APP-FS25 Search Functions)

APP-FS08-58: shall provide filter options to the user with the following specifications:

  • Filter options are grouped into expanding menus.

  • Filter options are based on available object metadata from within the subset of currently queried and filtered objects. (drill down filtering)

  • Filter option controls can be ranged sliders, check boxes, radio boxes, combo boxes, drop down lists, or any other control that best fits the metadata values.

APP-FS08-59: shall provide the following display options:

  • Sorting

  • Display type

  • Number of results returned per page

APP-FS08-60: shall allow sorting of the returned object records based on available object metadata.

APP-FS08-61: shall allow sorting via ascending and descending values.

APP-FS08-62: shall allow the selection of the following display types:

  • Compact List

  • Roomy List

  • Grid

  • Mosaic

APP-FS08-63: shall allow the user to select the number of object records to display per page (via pagination) from a list of sensible breakpoints, such as:

  • 24, 48, 96, 192, and 384 (if 6 column display)

  • 20, 40, 80, 160, and 320 (if 5 column display)

  • 12, 36, 72, 144, and 288 (if 1, 2, 3, or 4 column display)

APP-FS08-64: shall allow the user, as an alternative to results per page, to enable an infinite scroll option to load more results when scrolling to the end of the current results.

7.6. Pagination Controls

The browsing view, in the context of pagination controls:

APP-FS08-65: shall provide the following abilities:

  • View the next page of results, if available

  • View the previous page of results, if available

  • Display the total number of result pages

  • Display the current page number

  • Jump to a specified page number

  • Display the total number of object records in the results

APP-FS08-66: shall not display pagination controls if infinite scroll is enabled. Instead, the page shall indicate when more records are loading or the end of the results have been reached.

8. Appendix A: Glossary

Term
Meaning

RS

Requirements Specification

FS

Functional Specification

NFT(s)

Non-Fungible Token(s)

UI

User Interface

UX

User Experience

Requirements Specification
Figure 1. The layout of a typical browsing view.