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
MenuModel including all field classes #177 - Updated Storage related classes to allow for the storage of
Menuobjects #177 - Completed
add,delete,edit,clear,listandfindcommands forMenuobjects #177 - Completed
editandfindcommands forOrderobjects #134 - Contributed to
Calculate Menu Item Profitfeature #177- Justification: Allow users to view their profit for each item on the menu.This sets up the foundation for the
Homepage Profitfeature 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_orderrelated bug #291 andMenurelated bugs #235 #188 -
Contributed to the demo video.
- New Feature: Implemented a
Calculate Menu Item Profitfeature 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