/cryptocurrency-wallet

Course project for FMI course "Modern Java Technologies"

Primary LanguageJava

Cryptocurrency Wallet Manager

The Cryptocurrency Wallet Manager is a command-line tool designed for users to purchase, store, and manage their cryptocurrency wallets. It facilitates basic operations including depositing funds, trading cryptocurrencies, accessing wallet details, managing accounts, and retrieving real-time pricing data for various cryptocurrencies via the CoinAPI.

Functionalities

  • help - Displays information about the available commands, their parameters, and when the commands can be used.
  • register {name} {password} - Registers a new account in the database.
  • login {name} {password} - Logs in an existing account in the database.
  • logout - Logs out of the currently logged account.
  • disconnect - Disconnects current account from the server
  • deposit-money {amount} - Deposits given amount of money in the wallet of the currently logged account.
  • list-offerings - Lists every available for purchase cryptocurrency.
  • buy {asset_code} {amount} - Purchases quantity of given cryptocurrency by given amount of money.
  • sell {asset_code} - Sells cryptocurrency with code asset_code available in the wallet of the currently logged account.
  • change-password {old_pass} {new_pass} - Changes the password of the currently logged account to new_pass.
  • get-wallet-summary - Shows information about the wallet of the currently logged account, including current balance, which cryptocurrency they have in their wallet, as well as their quantity.
  • get-wallet-overall-summary - Shows information about the overall winnings of the currently logged account.
  • make-admin {acc_username} - Gives account with username {acc_username} admin rights (requires admin rights).
  • shutdown - Shuts the server down (requires admin rights).

Future improvements:

  • Nothing new will be added, open to new ideas :)