# cryptsao mobile app An app for users to buy and sell crypto tokens. ## Onboarding - The first time a user gets into the app/website, they should be presented with onboarding screens. - Crypto at your fingertips: Buy and sell instantly with Mobile Money - Secure: Secure your account with SMS verification - Instant checkout: Sell now and receive cash directly in your momo account. - There should be options to skip the onboarding and go straight to registration page. ## Registration - A user logs in with the following information - phone number - full names - password - They will receive a `6 digit` verification code via `sms`. - They will verify this code before continuing to home page ## Login - A user logs in with a `phone number` and `password` - If their session has expired, they will need to reverify again. ## Password recovery - The user will enter the phone number associated to the account and will receive a code to use for password recovery. - If the code is valid, they'll move to a screen to set a new password. ## Home page - show the current user profil - show the curren't users balance (the sum of all their crypto balances) - show a list of cryptocurrencies and their current market price. Every line should include - crypto name - crypto logo - trend (small graph of the market changes) - market price - percentage change (green for increase, red for decrease) - When you click on any crypto, it should take you to the page for that coin. - There should be a bell icon for notifications. (with an indicator to indicate the number of notifications) ## Coin page - show the name of the coin e.g (Bitcoin BTC) - show the market value including percentage price change (with green and red indicators) - show the full graph of the price (configurable by time) - show a button to BUY and SELL ## Buy page If the user has not verified their account, show an warning that says "unverified accounts cannot buy/sell. Verify now" - show the coin you are buying - show the maximum you are allowed to buy - show the price of the coin in relation with local currency (e.g BTC/XAF) - enter the price you want to buy - if everything is ok, show progress bar and success if complete ## Sell page If the user has not verified their account, show an warning that says "unverified accounts cannot buy/sell. Verify now" - show the coin you want to sell - show the price of the coin - show the balance you have in your wallet - enter the amount - show how much you'll receive in local currency ## Wallet - show total wallet value - show the coins they have and their amounts - show your transaction history ## Transfer Here, you can transfer coins to/from an external wallet. Deposit - choose a coin - generate an address - send the address to the user - show progress and completion notification Withdraw - choose a coin - enter an adress - enter the amount - send the coins to the address - show progress and completion notification History - show transfer history - the type of transfer (withdraw/deposit) - the amount - the coin - the status - the date - etc.. ## Profile - standard profile stuff - A verified badge (denotes that the user has been verifieied) - A button to verify the user (will take you to verification page) - show settings - currency - notifications - session timeout (how long before auto logout) - etc.. - signout ## Verification page - show the list of verification requirements - Personal Info (names, address) - National ID card or passport (upload front and back) - Facial recognition (upload self portrait) - The verification will go from one step to another - once done, let the user know that we will manually verify the user and get back to them. ## Notifications page - clicking the bell icon on the home page should take you to notifications page - here, you see a list of your notifications - ability to clear all notifations - there should be a distinction between read and unread notifications