Yoke Min - Project Portfolio Page
Overview: PaperTrade
PaperTrade is a command line paper trading application that allows users to simulate the buying and selling of stocks. A paper trade is a simulated trade that allows an investor to practice buying and selling stocks without risking real money.
Summary of Contributions
- New Feature: Added Sell function
-
What it does: To allow users to sell a particular stock that they currently own
-
Justification: This is one of the main feature of our program, to allow users to simulate the selling of a stock.
-
Highlights: To implement this, I created the sellStocks methods in various classes (
Stock
,Transaction
,Portfolio
,PortfolioManager
,Controller
and the methods to parse user inputs in theParser
class.
-
- New Feature: Added mark, unmark and bookmarks function
-
What it does:
mark
allows the user to add a stock to their bookmarks;unmark
allows the user to remove a stock from their bookmarks;bookmarks
allows the user to view the details of the stocks in their bookmarks. -
Justification: This feature is to allow users to easily view the details of stocks that they are interested in or want to frequently keep track of.
-
Highlights: To implement these three functions, I added the
Bookmarks
andBookmarksManager
classes. I also implemented command classes which helps to execute the command. TheBookmarks
would hold an arraylist ofStrings
which contains the ticker symbol of the bookmarked stocks. TheBookmarkManager
is in charge of managing theBookmarks
.
-
- New Feature: Added Api class (Not used in the end product)
-
What it does: Allows us to retrieve the relevant information of the stocks
-
Justification: We needed to get real time information about the stock prices and stock details.
-
Highlights: To implement this, I used the API documentation to write the code to retrieve the JSON files that contained the information of the stocks. However, as we only needed retrieve one type of stock data, Stock time series Intraday, we used an external library to retrieve stock information instead.
-
Code contributed: RepoSense Link
Documentation
- User Guide:
- Developer Guide: