yout: page title: Yuan Hao’s Project Portfolio Page —

Project:NextBigFish

NextBigFish is a desktop address book application used for teaching Software Engineering principles. 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.

  • New Feature: Added the command to Mark certain contacts as needing follow-up or not.
    • What it does: allows the user to mark certain contacts the user has already in NBF as needing to follow-up, or to unmark them if the contacts do not need to be followed-up. Newly added contacts are by default marked as needing follow-up.
    • Justification: This feature adds greater functionality for the user. Our target audience is people who use NBF to keep track of their business contacts, so having this feature to remind them which of their contacts require following-up on would be extremely useful.
    • Highlights: For future development, can consider different marking categories such as “no follow-up needed”, “follow-up on: topic “, “finished follow-up on: topic “, instead of marking only need / don’t need follow-up.
    • Credits: **
  • Code contributed: RepoSense link

  • Project management:
    • Managed releases v1.2 - v1.4 (3 releases) on GitHub
  • Enhancements to existing features:
    • Updated the Find feature to work with more keywords and new fields. (Pull requests #37)
    • Wrote additional tests for existing features to increase coverage)
  • Documentation:
    • User Guide:
      • Added documentation for the features find #12
    • Developer Guide:
      • Added implementation details of the mark feature.
  • Contributions to team-based tasks:
    • Set up and initial team meeting on a regular basis.
    • Arrive punctually to project meeting.
    • Contribute meaningfully to the discussing.
    • Offer help to teammates frequently.
  • Community:
    • PRs reviewed (with non-trivial review comments): #77
    • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3)