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 Implemented:
    • Client Notes: Added Create, Read, Update, Destroy functionality for Note objects associated to clients along with required documentation and tests.
    • TagNoteMap: Created unique Tag Objects and established the many-to-many relationship between Tag and Note objects to circumvent “no-DBMS constraint” imposed by the mod (Initial implementation in PR #150).
    • Added storage for Note #235, #164.

  • Code contributed: RepoSense link

  • Project management:
    • Managed project v1.1 to v1.4 on GitHub
    • Created Last-Sprint documentation PR with Templates and Descriptions to facilitate collaborative work between all members of the group (Pull Request#351)



  • Enhancements to existing features:
    • Improved Phone Number parsing using Custom Regex and adhering to international standards PR #337
    • Bug Fixes:
      • Serialization/Deserialization inconsistencies for Client Notes storage #320
      • Inconsistent order when refreshing Notes after editing #312
      • Minor UI Interactions #336



  • Documentation:
    • User Guide:
      • Updated Client Note features
      • Updated Help Instruction on command syntax
      • Contextualised UG to the Target User, added appendices and screenshots to wrap up v1.3 milestone submission #276
        • Added Appendix A: Introduction to the UI for First-Time users of the application
        • Added Appendix B: International Standards Followed to clarify our syntax related decisions and added useful external links to aid users
    • Developer Guide:
      • Added Proposed Implementation for Finding by Tags to utilise the many-to-many relationship tracked by TagNoteMap
      • Added Description for Implementation of Associating Notes and Tags
      • Added PUML Sequence diagram to explain how TagNoteMap is initialised



  • Community:
    • PRs reviewed, some with changes requested (noteworthy ones): #118, #149, #161, #185, #352
    • Added a tip on JVM shutdown hook on the module page #85
    • Reported bugs in other teams’ products from a module-coordinated bug bounty. Issues created here.