Framework Design, API, Plugin and GUI implementation, Unit testing
March - April 2018
Team: Jerry Peng, Andy Shen
In this project, I worked in a team to design and implement an extensible visualization and analysis framework in Java. We have chosen our domain to be financial data. Some of the possible extensions we considered were graphs of the historic trends of a stock, comparisons across different types of stocks, chart of distribution of personal portfolio, etc.
The framework has two plugin interfaces: a Data Plugin interface and a Display Plugin interface. The Data Plugin has two important methods: summarize and predict.The summarize method takes in the user-inputted historical stock data and then creates a summary table of important information from that data. The predict method extrapolates the data given to a future period and returns a table of predicted values. The display plugins define how the visualization appears onto the framework GUI.
From this project, I obtained hands-on experience of designing and implementing a black-box framework. To ensure that the framework can support a variety of data sources and display options that users can add later, we spent a lot of time thinking about what we should include/exclude in the API to allow extensibility.