Project: InternSHIP

InternSHIP is a desktop app for university students to manage their internship applications. InternSHIP has been optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).

Given below are my contributions to the project.

  • New Feature: Added the ability to complete an application.
    • What it does: Allows the user to mark an application as completed which means that the user has submitted all the documents required.
    • Justification: This feature improves the product significantly because a user can better organise the applications, differentiating completed and uncompleted applications.
    • Highlights: This enhancement affects existing commands.
    • For example, this feature also allows soon command to filter out completed applications.
    • The implementation too was challenging as it required changes to existing commands and perhaps future commands.
  • New Feature: Added the ability to show upcoming deadlines.
    • What it does: Allows the user to find submission deadlines/ interview timings within a specified number of days.
    • Justification: This feature improves the product significantly because a user has the flexibility to enter the number of days within which application submissions are due.
    • This serves as a reminder feature as well, helping to prevent the user from missing important deadlines.
    • Highlights: This enhancement affects existing command and many test cases needed to be changed too.
    • The implementation too was challenging as it required changes to existing commands and perhaps future commands.
    • This enhancement went through a few stages. In the beginning, soon only showed upcoming deadlines within 3 days.
    • It was then improved to allow the user to specify the number of days.
    • In the final version, the soon command can show both upcoming application submission deadlines and interview date and time as well.
  • New GUI: Changed the GUI from vertical to horizontal view.
    • What it does: Allows the user to see the applications more easily and clearly.
    • Justification: This feature improves the product significantly because the GUI is the first thing that a user sees when using the application.
    • Better GUI leaves a good first impression on the user, improving their overall user experience.
    • Highlights: this implementation of the new GUI was challenging as it needed to be constantly changed as more fields were added.
    • Several factors were also taken into consideration, such as the right width for each column, to allow the GUI to be displayed correctly on any platform.
  • Enhancements to existing features:
    • Wrote additional tests for existing features to increase coverage (Pull requests #103, #237)
    • Fixed bugs from Practical Examination Dry Run (Pull request #216)
  • Code contributed: RepoSense link

  • Project management:
    • Managed release v1.3 - (1 release) on GitHub
  • Documentation:
    • User Guide:
      • Added documentation for the features soon and complete (Pull request #126, #33)
    • Developer Guide:
      • Added implementation details of the soon and complete features. (Pull request #146, #96)
      • Added detailed UML diagrams for soon and complete features. (Pull request #148)
      • Added limitations and future improvements (Pull request #251)
      • Added all user stories.
    • Miscellaneous:
      • Updated index.md file. (Pull request #144)
      • Updated AboutUs.md file. (Pull request #255)
  • Team tasks:
    • Created folders for UG and DG.
    • Set up zoom for weekly meetings.
  • Community:
    • Reported an above-average number of bugs in the PE-D (Examples: Bug #1, Bug #5, Bug #9).
    • Contributed to forum discussions (Examples: #20, #118, #135, #228, #251, #231 #253)