Liu Muchen's Project Portfolio Page
Project: Trackr
Trackr is a desktop tracking 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
- Contributions to code base:
- Enabled assertions in gradle. #156
- Updated link in help command. #80
- Completed
find
anddelete
command for task, together with the respective descriptor and predicate. #98- Justification: Allows the user to be able to find tasks by multiple fields instead of only the name.
- Highlights: Was used to make the predicate and command for find command for order.
- Credit: Code is adapted from AddressBook-Level3 created by SE-EDU initiative
- Completed
clear
command for task. #102- Justification: Allows the user to be able to delete all tasks in one command.
- Credit: Code is adapted from AddressBook-Level3 created by SE-EDU initiative
- Refactored models and commands, together with abstracting out certain components. #138, #139, #187
- Justification: There were a lot of repeated code for commands (such as
add
,edit
anddelete
) for each model (such asSupplier
andTask
) and . Hence, this would reduce duplicate code for similar functionality just for different models.
- Justification: There were a lot of repeated code for commands (such as
- Abstracted out common models (such as
Name
andDeadline
). #138- Justification: There are repeated use of similar classes with the same functionality. Hence, this reduces duplicate code.
- Add in missing test cases. #283
- Justification: Improve test coverage
- Contributions to the User Guide:
- Drafted initial documentation for
tab
,delete_task
,delete_supplier
,find_task
,find_supplier
,edit_task
. #47 - Drafted initial documentation for
add_supplier
,edit_supplier
. #72 - Drafted initial documentation for
list_supplier
,list_order
,list_task
,list_item
,clear_supplier
,clear_order
,clear_task
,clear_item
,find_order
. #198 - Overhaul of the structure of how the User Guide is designed and implemented. #267
- Added in figures and tips to allow for better user experience. #267
- Fix formatting and informational errors in the entire User Guide. #267
- Drafted initial documentation for
- Contributions to the Developer Guide:
- Review/Mentoring contributions:
- Provided recommendations on how to implement respective features.
- Help teammates with issues with their code base.
- Project management:
- Initialised GitHub Project, issues tracking and flow of PRs.
- Lead weekly meetings and work delegation.
- Keep track of datelines and give timely reminders.
- Community:
- Tools:
- Java 11, JavaFX, Grade, JUnit