Darren Chang's Project Portfolio Page
Project: Trackr
Trackr is a desktop tracking application used to keep track of order, menu, 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.
- Added
Menu
Model including all field classes #177 - Updated Storage related classes to allow for the storage of
Menu
objects #177 - Completed
add
,delete
,edit
,clear
,list
andfind
commands forMenu
objects #177 - Completed
edit
andfind
commands forOrder
objects #134 - Contributed to
Calculate Menu Item Profit
feature #177- Justification: Allow users to view their profit for each item on the menu.This sets up the foundation for the
Homepage Profit
feature that allows to view total profit from all orders.
- Justification: Allow users to view their profit for each item on the menu.This sets up the foundation for the
- Maintain code quality - Refactor methods to obey OOP principles #281
- Improve test coverage and fixed test cases. #288 #140
- Updated and fixed
find_order
related bug #291 andMenu
related bugs #235 #188 -
Contributed to the demo video.
- New Feature: Implemented a
Calculate Menu Item Profit
feature to get profit from item cost and item selling price.- What it does:
- Allows users to see the profit of their item after adding their menu item to the menu.
- Justification: This feature allows home business owners to see their profit for each menu item at one glance.This feature allows the total profit seen on the homepage to work as expected.
- Highlights: Users are able to see the profit from each menu item without calculating manually.
- What it does:
- Code contributed: RepoSense link
- All reused code are adapted from the AB3 code base (both functional and test code).
- The code could be refractored out to be a more standard format for repeated use.
- Project management:
- Documentation:
- User Guide (UG):
- Developer Guide:
- Update Javadocs #287
- Community:
- PRs reviewed (with non-trivial review comments): #193 #267
- Communicate professionally with Professor Damith on Outlook to change UG details
- Clarify questions on behalf of the team on MSTeams with Tutor.
- Communicate thoroughly with team members to reduce double work, fix bugs together when needed and raise doubt in group chat.
- Tools:
- Java 11, JavaFx, Jekyll