Lim Ming Chong's Project Portfolio Page
Project: Travelling BusinessMan
Travelling BusinessMan is a desktop application that manages notes and clients across multiple countries and timezones for businessmen who travel a lot and have many international clients. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 24 kLoC.
Given below are my contributions to the project.
- New features:
- Updated help window display and contents (Pull requests #117, #317)
- Added option to close help window using the Esc key (Pull request #133)
- Created the
NoteCard
UI component to view client and country notes in a user-friendly way and implemented a better GUI display forcountry note view
andcountry note view c/COUNTRY
(Pull request #247) - Co-authored pull request #197 to implement GUI testing and integrate into GitHub Continuous Integration workflow
- Credits: Address Book 4’s codebase was referenced
- Added
ContractExpiryDate
field toClient
(Pull request #191) client suggest by/contract
command- Implemented sorting for client list for
SuggestCommand
purposes (Pull request #221) - Helped with designing the TBM logo
-
Code contributed: RepoSense link
- Project management:
- Managed releases
v1.1
-v1.4
(4 releases) on GitHub - Created walking skeleton for
v1.2
(Pull request #115)
- Managed releases
- Enhancements to existing features:
- Refactored all instances of
person
toclient
(Pull request #116) - Updated checkstyle to better enforce code quality (Pull requests #128, #216 (Co-authored))
- Implemented defensive truncation of the window size and position read from user preferences to ensure the application renders on screen properly even if
preferences.json
is edited (Pull request #352) - Consistently increased test coverage in pull requests (Pull requests #191, #197 (Co-authored), #203 (Co-authored), #206, #258, #271, #274, #355)
- Checked and polished code quality for the
logic
package (Pull request #362) - Cleaned up and standardized test code (Pull request #271)
- Refactored all instances of
- Documentation:
- User Guide:
- Added documentation for the features
country note
,clear
, andexit
#31 - Defined a new syntax for commands with multiple parameters that require at least one parameter to be supplied #257
- Added screenshots and descriptions under
Appendix C: Expected Command Behaviour Screenshots
for the commandshelp
,client list
, andclient find
#351 - Updated the FAQ #351
- Added documentation for the features
- Developer Guide:
- Added the list of user stories and labelled their priorities #38
- Added the use case for
Clearing all entries from TBM
#53 - Added the use case for
Noting down information about a client
#351 - Co-authored implementation section with UML diagrams for
client suggest
#204 #351 - Updated UML diagrams for sections
Model component
,Inner workings
, andStorage component
#351 - Updated activity diagram under implementation section of
Switching between displaying Country Note List Panel, the Client View, and the default view
#351
- User Guide:
- Community:
- PRs reviewed (with non-trivial review comments): #51, #121, #131, #134, #137, #144, #146, #150, #164, #198, #199, #223, #244, #252, #256, #259, #266, #268, #337
- Contributed to forum discussions (examples: #36, #62, #71, #110, #126, #132, #145, #146, #169, #239, #295, #296, #316, #336)
- Gave suggestions for other teams in the class (example: #309)
- Reported bugs in other teams’ products:
- Tools:
- Added a GitHub action to automatically generates and commits images of UML diagrams when .puml files are changed (Pull requests #135, #141)
- Helped to integrate TestFX for GUI testing into the team’s GitHub Continuous Integration workflow (Pull request #197 (Co-authored))