Project: InterNUS

InterNUS is a convenient and powerful desktop app, created to help NUS CS students manage their internship applications. It is optimized for use via a Command Line Interface (CLI), and complemented with a simple yet intuitive Graphical User Interface (GUI) designed to help you keep track of all your applications at a glance.

Below are my contributions to the project.

  • New Feature: Created the internship class along with the corresponding command to add it to InterNUS.
    • What it does: Allows the user to keep track of internship related information, namely company name, role, status, interview date and contact person.
    • Justification: This abstraction of an internship is necessary to facilitate the storing and passing of information around for all other features involving internships.
  • New Feature: Added the ability to search persons and internships by multiple prefixes.
    • What it does: Allows the user to find persons and internships by their specific fields.
    • Justification: With a potentially very long list of persons and internships, this command is crucial for users to be able to easily find the information they need.
  • New Feature: Added selectable color themes (currently available are light theme and dark theme).
    • What it does: Allows the user to choose the color theme of the GUI.
    • Justification: Although purely cosmetic, GUI customization can improve the overall user experience as users get to personalize how they want the app to look and feel.
  • Code contributed: RepoSense link

  • Project management:
    • Established project workflow near the start of the tP.
    • Gave design direction and suggestions during team meetings.
    • Reviewed and merged PRs
  • Enhancements to existing features:
    • Refactored AB3’s find command to allow finding by multiple prefixes for more versatile searching functionality.
    • Refactored some common code found across different parser classes to ParserUtil.
    • Modify stylesheets to have common color variables to allow color themes feature to be implemented and extendable.
  • Documentation:
    • User Guide:
      • Worked on the icons and symbols table in section 2.1.
      • Added documentation for the features add internship, find person, and find internship.
      • Added extra information to the FAQ section on how to find an internship’s contact person and vice versa.
      • Wrote the “Planned updates” section.
    • Developer Guide:
      • Added implementation details of the find person feature.
      • Wrote user stories.
      • Wrote use cases.
      • Wrote manual test cases for the find command.
  • Community:
    • PRs reviewed (with non-trivial review comments): #139, #141
    • Tested another team’s tP release and submitted issues here.