Investment Platform

The application simulates an invetment platform which supports trading, earn/dividend programs and analysis over transactions.

Summary of classes:

There are Assets, which can be Crypto and Stocks. The Crypto divides into Proof of Work Crypto and Proof of Stake Crypto. A Transaction is an Asset DTO with only relevent information to be stored in a history of transactions. Assets are stored in an TreeSet which is ordered by the symbol.

Exchanges can be Crypto Exchanges and Stock Exchanges. They are stored in a Vector.

A Wallet has 2 subwallets, Spot and Earn which stores Assets and the amount of each one in Pairs. It also has a history of transactions and a balance.

An Account is obtained by merging an Exchange and a Wallet.

A User may have multiple Accounts and a balance.

Functions:

Through the menu, you can access any CRUD operation over users, exchanges, wallets and assets.

By accessing Other Functions, you have the option to seed the app with data or to erase all the current data.

Once you have at least a user and an exchange you are eligible to enter in Simulation Mode where you can add to the user balance and move it to the desired exchange. From now, you can trade any pair available on Binance. You also have to option to move your asset to earn program which will compensate you for holding that asset. You can check your spot and earn positions at any time along the current balance, history of transactions and the unrealised profit of your purchases.