Arkar's Portfolio Page
Project: Trackr
Trackr is a desktop application used to keep track of order, suppliers and tasks. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.
Given below are my contributions to the project.
-
Code contributed: RepoSense link
- Contribution to code base
- Initial refactoring of
SupplierfromPerson- Justification: This improves the product because the differentiation between
SupplierandPersonfits the use case of our product.
- Justification: This improves the product because the differentiation between
- Refactor
Orderto have a reference toMenuItem- Justification: This association is needed as users should only be able to create orders from pre-existing
MenuItem. - Highlight:
- Adapt
StorageandJSONfiles to supportMenuItemnested withinOrder - Generate total profits and sales from each order and all orders
- Profits and sales responsive to changes in
OrderQuantityandOrderItem - Rewrite relevant test cases for Order
- Adapt
- Justification: This association is needed as users should only be able to create orders from pre-existing
- Overhauls Ui
- Highlights:
- Refactor into packages
- Cosmetic changes using CSS
- Added tabbed views for different data
- Highlights:
- New feature:
TabCommandthat allows users to switch between tabs- Justification: Like most applications, users can use
CTRL + TABorARROW KEYSto cycle through area of focus. This added feature allow users to skip tabs while using a verbose command. This also further optimises the product for CLI use. - Highlight: Used the
Observer / Observablepattern with JavaFXSimpleIntegerPropertyto listen to changes in the selected tab index. This decouplesTabCommandinLogicfromUiand enforces Law of Demeter. Some commands such aslist/findalso snaps to relevant tab for better user experience.
- Justification: Like most applications, users can use
- Initial refactoring of
- Review / Peer Help
- Helped teammates with debugging and test cases
- Documentation:
- User Guide:
- Drafted command syntax and examples
- Provided overall feedback #267
- Developer Guide:
- Updated UML diagram for
Uiand its description - Added activity diagram for
DeleteCommand - Updated user stories and use cases.
- Updated UML diagram for
- User Guide:
- Community:
- Tools:
- Java 11, JavaFx, Jekyll