Requirements and overview of the sequence of steps to complete for the dashboard (the first page you see after logging in):
Frontend functionality (fake data - no UI/UX)
[ ] "All Funds" paginated table view of all funds (clicking a row navigates to the fund's view/edit page) with the ability to order them by any column:
Name (alphabetical)
AUM (assets under management) -- format with K, M, and B for thousands, millions, and billions
Investors (#) -- format with K and M for thousands and millions
Total Return ($) -- format with K, M, and B for thousands, millions, and billions
Total Return (%)
[ ] "Your Funds" paginated table view of your funds (funds you're invested in or are an owner of) -- same columns as above. If you don't have any funds, then the Your Funds view should inform the user that they can create a fund below
[ ] "Create Fund" view is a multi-step modal that walks through creating a fund with 2 assets
[ ] Step 1 prompts to select 2 assets to invest in and contains a brief explanation of how you can add more assets later (to start out with, the only "assets" are tokens on Ergo instead of cross-chain, but use BTC and ETH as the defaults for this demo -- it'll be easier for everyone to understand)
[ ] Step 2 shows a percentage next to each of the 2 assets and contains a brief explanation of how they must add up to 100% of the portfolio that the fund will invest in
[ ] Step 3 asks which price to buy and sell the assets at (with defaults for each) and contains a brief explanation of how the dApp will automatically buy at the buy targets and sell at the sell targets
[ ] Step 4 will ask for a name for the fund (defaults to "-personal") and have a submit ("Create Fund") button
[ ] Data from each step is saved and used when the submit button is clicked to create a fund, which the user is then redirected to in order to make more edits
UI/UX
[ ] Informative tooltip icons (hoverable question mark icons) that clarify terms like AUM
[ ] Clearly and concisely convey that a fund is made up of a portfolio and investors and that a user can create a fund with no other investors to act as their own personal portfolio in which only they invest
[ ] To avoid clutter, All Funds and Your Funds should not be displayed at the same time -- use tabs (example) or something similar
[ ] Consistent color scheme
[ ] Smooth transition and loading effects
[ ] Mobile view complete
[ ] Desktop view complete
Backend (will be in a separate project, but we can track the completion of integrating with it here)
[ ] Getting and ordering/sorting (paginated) All Funds -- unauthenticated route
[ ] Caching layer
[ ] Getting and ordering/sorting (paginated) Your Funds -- authenticated route
[ ] Checking if a fund name is unique
[ ] Creating a fund -- validating: name uniqueness, valid assets/tokens, and portfolio % summing to 100
Requirements and overview of the sequence of steps to complete for the dashboard (the first page you see after logging in):
Frontend functionality (fake data - no UI/UX)
UI/UX
Backend (will be in a separate project, but we can track the completion of integrating with it here)