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. Scope
  • 2.1. Components
  • 3. Document Conventions
  • 4. Context
  • 5. Design Wire-frames
  • 6. Requirements
  • 6.1. User Account Page layout
  • 6.2. User Profile
  • 6.3. User Assets List
  • 6.4. User Exchange Orders Info
  • 6.5. User Transaction List
  • 6.6. User Contacts
  • 6.7. App Settings
  • 6.8. The system
  • 7. Related documents

Was this helpful?

Export as PDF
  1. Supporting & Reference Docs
  2. Peerplays DEX Development
  3. Functional Specs

User Account Page

The Peerplays Decentralized Exchange (DEX) platform functional requirements specification for the user account page.

1. Purpose

The purpose of this document is to outline functional specifications for the Peerplays Decentralized Exchange (DEX) relating to the user account page from the user's perspective.

2. Scope

The user account page is part of the wallet functionality built into the DEX. This functional spec covers the features and layout of the user account page.

2.1. Components

Specific components and features covered include:

  • the user account page layout

    • user profile

    • assets list

    • exchange orders info

    • user transactions list

    • user contacts

    • app settings

3. Document Conventions

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

Code

Meaning

UA-#

User Account Page Requirement

AL-#

Asset Listing Requirement

EP-#

Exchange Page Requirement

VP-#

Voting Page Requirement

The keyword shall indicates a requirement statement.

This functional spec focuses on UA requirements. AL, EP, and VP requirements are for reference.

4. Context

The DEX must provide a central location for user account management. This is where users can edit their profile, view their orders and transactions, and change the app settings.

Users should also be able to keep track of other users that they frequently interact with. For the purpose of creating a user friendly experience, a contacts list feature would allow a user to quickly find the profiles of people they often send/receive tokens from or engage in discussions with. This would give them easy access to social links and transaction histories of the users that matter most to them.

5. Design Wire-frames

FIG 1. User Account Page Design Wireframe - Profile

FIG 2. User Account Page Design Wireframe - App Settings

6. Requirements

Requirements specific to the items outlined in this functional specification are as follows.

Assumptions: The user visiting the user account settings is authenticated.

6.1. User Account Page layout

the User Account Page layout:

  • UA-1 shall be available to authenticated users from the main navigation.

  • UA-2 shall display a user's display name.

  • UA-3 shall display an "Add to my contacts" button.

  • UA-4 if the profile is set to public, shall display a user's profile picture, email, social link icons, personal website url, and bio (all where available).

  • UA-5 if the profile belongs to the authenticated user, shall display the following sections to facilitate user account settings:

    • profile settings

    • user assets

    • user orders

    • user transactions

    • user contacts

    • application settings

6.2. User Profile

the user profile settings:

  • UA-6 shall allow making the user's profile private (Default = private).

  • UA-7 shall allow the user to edit their profile with the following settings:

    • Public display name (can be different from username)

    • email

    • profile picture

    • bio (short description)

    • social app handles (Twitter, Telegram, Reddit, Github, etc...)

    • personal website url

  • UA-8 shall allow the user to clear the form.

  • UA-9 shall allow the user to save the form.

6.3. User Assets List

the user assets list:

  • UA-10 shall display all assets the user owns.

  • UA-11 shall display separate lists for tokens and NFTs.

for token assets:

The token assets list in the user account page should also follow the requirements AL-2 through AL-6 as per the Asset Info Page and Asset Lists functional spec document.

for NFTs:

  • UA-11 shall allow users to search the list of their NFTs and display the results.

  • UA-12 shall allow users to sort the NFTs by the following (ascending and descending):

    • favorite

    • available balance

    • total balance

    • last transaction (time)

    • alphabetically

  • UA-13 shall, for each NFT the user owns, display the following information:

    • the NFT name

    • the user's available balance

    • the user's total balance

    • an actions dropdown button

  • UA-14 shall allow the user to take the following actions within the actions options:

    • send NFT

    • view the NFT's info page (link to Express Cart NFT market)

    • view the NFT's vesting page (if a PowerUp NFT)

    • view the NFT's market page (link to Express Cart NFT market)

  • UA-15 shall allow the user to mark the NFT as a favorite.

6.4. User Exchange Orders Info

the user exchange orders info:

  • UA-16 shall display a paginated list of the user's currently open exchange orders.

  • UA-17 shall display a paginated list of the user's exchange order history.

  • UA-18 shall allow the user to select the number of items to view per page.

  • UA-19 shall allow the user to export the list to their local machine.

    • may be sorted and/or filtered by transaction metadata.

    • may be pdf, csv, or similar format.

The open and historical orders lists in the user account page should also follow the requirements EP-19 through EP-27 as per the Exchange Page functional spec document.

6.5. User Transaction List

the user transaction list:

  • UA-20 shall display a paginated and chronological (newest first) list of transactions relevant to the user's account.

  • UA-21 shall allow the user to select the number of transactions to view per page.

  • UA-22 shall allow the user to export the list to their local machine.

    • may be sorted and/or filtered by transaction metadata.

    • may be pdf, csv, or similar format.

6.6. User Contacts

the user contacts info:

  • UA-23 shall display a list of the user's contacts.

  • UA-24 each contact in the list shall link to the specified user profile.

  • UA-25 shall allow the user to search the list of contacts by name.

  • UA-26 shall display an actions button for each contact in the list with the following actions:

    • send to contact

    • visit profile

    • remove contact

6.7. App Settings

the app settings:

  • UA-27 shall display all application settings options, including the following:

    • User Interface settings

    • Notifications settings

    • Security settings

    • Backup & Restore options

User Interface settings:

  • UA-28 shall allow the selection of language the UI uses.

  • UA-29 shall allow the option to enable a dark theme.

  • UA-30 shall allow the option to enable an advanced mode.

Notifications settings:

  • UA-31 shall allow the user to toggle each notification on and off.

  • may allow the user to configure exchange notifications based on trading pair and price.

The requirements VP-57 through VP-63 as per the Voting Page functional spec document are provided for context regarding UA-32.

Security settings:

  • UA-33 shall allow the user to set a timer to automatically lock the app after a selected number of minutes of inactivity.

  • UA-34 shall allow the user to change their password.

  • may allow the user to enable 2FA for the app.

Backup & Restore options:

  • UA-35 shall provide the user the ability to download a backup file for their account.

  • UA-36 shall allow the user to restore their account in the app using the following methods:

    • using the backup file provided by the backup feature.

    • importing the user's private key.

    • using a local wallet brainkey.

6.8. The system

  • UA-37 if an error occurs at any point, the system shall display meaningful error information to the user and provide them with actions they can take to attempt to resolve the error.

7. Related documents

Parent Document

Sibling Documents (referenced in this document)

PreviousLogin and Account CreationNextVoting Page

Last updated 3 years ago

Was this helpful?

See requirements AL-2 through AL-6:

See requirements EP-19 through EP-27:

UA-32 shall allow the user to toggle the voting pop-up feature. (see VP-57 through VP-63: )

DEX Functional Specs - Asset Info Page and Asset Lists
DEX Functional Specs - Exchange Page
DEX Functional Specs - Voting Page
Peerplays DEX Requirements Specification
DEX Functional Specs - Asset Info Page and Asset Lists
DEX Functional Specs - Exchange Page
DEX Functional Specs - Voting Page