init projectmycelium
This commit is contained in:
115
docs/dev/design/archive/threefold-marketplace-complete-ux.md
Normal file
115
docs/dev/design/archive/threefold-marketplace-complete-ux.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# Project Mycelium Complete UX
|
||||
|
||||
## Introduction
|
||||
|
||||
We present the complete user experience for the Project Mycelium.
|
||||
|
||||
## User Experience
|
||||
|
||||
- Publicly available information
|
||||
- A user can consult the docs at /docs
|
||||
- A user can consult the privacy policy at /privacy
|
||||
- A user can consult the Terms and Conditions at /terms
|
||||
- A user can read about the marketplace at /about
|
||||
- A user can contact ThreeFold by consulting the page /contact
|
||||
- Registration and Login
|
||||
- A user can register at /register
|
||||
- Once registered they can log out and then log in at /login
|
||||
- Purchases
|
||||
- A non-logged in user can check the marketplace at /marketplace and add items to cart
|
||||
- To buy an item, the user must be logged in and have enough credits
|
||||
- Purchase UX
|
||||
- A user can always buy a product or service in two ways
|
||||
- They can Buy Now, or Add to Cart (then proceed to checkout and complete the purchase)
|
||||
- A non-logged in user will have access to the cart at /cart
|
||||
- If they then log in, the cart items will be added to their account's cart
|
||||
- In the /cart page, they can clear cart or delete individual items in the cart
|
||||
- If they try to edit the cart, a message appears telling them to log in to edit the cart
|
||||
- A logged in user will have access to the cart at /dashboard/cart
|
||||
- Then they add to cart, they can see their cart at /dashboard/cart
|
||||
- In the /cart page, they can clear cart or delete individual items in the cart
|
||||
- As a logged in user, they can edit the cart, e.g. click + to add more of that same item, or click - to remove that item
|
||||
- A user can see all their purchases at /dashboard/orders
|
||||
- A user can see their recent transactions at /dashboard/wallet Recent Transactions
|
||||
- Credits
|
||||
- A user can buy credits at /dashboard/wallet, Buy Credits
|
||||
- A user can transfer credits to another user at /dashboard/wallet, Transfer Credits
|
||||
- A user can set up Auto Top-Up Settings at /dashboard/wallet Auto Top-up Settings
|
||||
- Thus if a user buys an app that costs e.g. 10 USD per month, they can set an automatic wallet top-up to never go below that number, ensuring their app will never run out of credits
|
||||
- Marketplace
|
||||
- In the marketplace, a user can search and filter items in different categories
|
||||
- They can buy compute resources (slices) at /marketplace/compute
|
||||
- They can reserve a complete node (server) at /marketplace/3nodes
|
||||
- They can buy Mycelium gateways at /marketplace/gateways
|
||||
- They can buy applications (solutions) at /marketplace/applications
|
||||
- They can buy services at /marketplace/services
|
||||
- Settings
|
||||
- A user can change settings at /dashboard/settings
|
||||
- They can
|
||||
- Update the profile information (email can't be changed)
|
||||
- Name
|
||||
- Country
|
||||
- Time Zone
|
||||
- Change the password
|
||||
- Set Up SSH Public Keys
|
||||
- Update notification settings
|
||||
- Security alerts
|
||||
- Billing notifications
|
||||
- System alerts (downtime, maintenance)
|
||||
- Newsletter and product updates
|
||||
- Dashboard Notifications
|
||||
- Show alerts in dashboard
|
||||
- Show update notifications
|
||||
- Update their currency preferences
|
||||
- They can decide to have the prices displayed in
|
||||
- USD
|
||||
- TFC
|
||||
- EUR
|
||||
- CAD
|
||||
- Delete account
|
||||
- When a user deletes their account, their data is still available on the marketplace backend for security, audit and legal purposes
|
||||
- Dashboard UX and Provider+Consumer Interactions
|
||||
- A user can see their dashboard overview activities at /dashboard
|
||||
- A user can see their user profile and activities at /dashboard/user
|
||||
- A user provoding resources to the grid (aka a farmer) at /dashboard/farmer
|
||||
- There they can add resources, e.g. add a node to the marketplace which will be available for purchase by other users as slices (a node is distributed as slices)
|
||||
- A user can become an app provider at /dashboard/app-provider by registering new applications
|
||||
- When a user register an application
|
||||
- The application is displayed publicly at /marketplace/applications
|
||||
- The application is shown at the app provider dashboard /dashboard/app-provider at the table My Published Applications
|
||||
- When another user buys that app
|
||||
- The app provider will see that info at the table /dashboard/app-provider Active Deployments
|
||||
- The app purchaser will see the app info at /dashboard/user My Applications
|
||||
- A user can become a service provider at /dashboard/service-provider by registering new services
|
||||
- When a user register a service
|
||||
- The service is displayed publicly at /marketplace/services
|
||||
- The service is shown at the service provider dashboard /dashboard/service-provider at the table My Service Offerings
|
||||
- When another user buys that service
|
||||
- The service provider will see that info at the table /dashboard/service-provider Service Requests
|
||||
- There are 3 stages to this service request from the service provider POV
|
||||
- Open
|
||||
- In Progress
|
||||
- Completed
|
||||
- The service purchaser will see the service info at /dashboard/user My Service Bookings
|
||||
- A user can become a resource provider by adding nodes and thus resources to the marketplace at /dashboard/farmer
|
||||
- They can Add Nodes
|
||||
- Then it fetches the nodes on the ThreeFold Grid and distribute the node into slices
|
||||
- Then the slices are can be seen publicly at /marketplace/compute
|
||||
- Any user can then purchase slices from that farmer and access the slices
|
||||
- Products
|
||||
- Farmers at the core offer compute resources (slices) to the marketplace.
|
||||
- On their end, farmers host nodes on the threefold grid. nodes are split into slices.
|
||||
- Users can use slices for individual VMs, or for Kubernetes cluster
|
||||
- The UI is intuitive
|
||||
- .html_template_tests
|
||||
- Apps can be self-managed and managed
|
||||
- An app is at its core a slice (VM or Kubernetes cluster) with an app on top
|
||||
- for self-managed node, users can set their SSH public key, they set it in /dashboard/settings SSH Keys page
|
||||
- for managed node, users will have access to the credentials on their marketplace dashboard in /dashboard/user page at the section of the app/product they rent/bought
|
||||
|
||||
---
|
||||
|
||||
- we want to have tests to check and confirm that the UX of the marketplace is as should be
|
||||
- thus, there should be a series of test for the UX above
|
||||
- we don't need any other test and we should have the tests mentioned above in an isolated section, e.g. not shared with other tests
|
||||
- this ensures that the tests are not affected by other tests
|
Reference in New Issue
Block a user