Trushti's Project Portfolio Page
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
accept
an application, i.e. mark the application outcome as ‘Accepted’.- What it does: Allows the user to mark the outcome of an application as ‘Accepted’. This means that the user has been accepted by the company for the position they applied for (Pull request #57).
- Justification: This feature improves the product significantly because a user can better organise their applications by categorising them into ‘Accepted’, ‘Rejected’ and ‘Pending’.
- Highlights: The implementation was significantly heavy as it required building the new
accept
command from scratch and formulating detailed tests for the command.
- New Feature: Added the ability to
reject
an application, i.e. mark the application outcome as ‘Rejected’.- What it does: Allows the user to mark the outcome of an application as ‘Rejected’. This means that the user has been rejected by the company for the position that they applied for (Pull request #57).
- Justification: This feature improves the product significantly because a user can better organise their applications by categorising them into ‘Accepted’, ‘Rejected’ and ‘Pending’.
- Highlights: The implementation was significantly heavy as it required building the new
reject
command from scratch and formulating detailed tests for the command.
- New Feature: Added the
Interview Date and Time
field.- What it does: Allows the user to enter the date and time of the interview (Pull request #127).
- Justification: Interviews are one of the most important parts of an internship application. This feature improves the product significantly because it helps prevent scheduling clashes for future interviews.
- Highlights: This feature affected all existing commands as a new field had to be added to all commands. Many test cases needed to be changed too.
- New Feature: Added the
Requirement
field.- What it does: Allows the user to enter application requirements such as CV and resume (Pull request #102).
- Justification: Being able to view all the application requirements helps to not miss out on submitting any important documents.
- Highlights: This feature affected all existing commands as a new field had to be added to all commands. Many test cases needed to be changed too.
- The implementation of this feature was later partially modified by the team.
- Enhancements to existing features:
- Implemented the mmm-d-yyyy format for the
Deadline
(Pull request #118). - Wrote additional tests for existing features to increase coverage (Pull requests #118, #239, #62).
- Refactored the whole codebase to remove the tag functionality (Pull request #121).
- Refactored naming for the test classes (Pull request #80).
- Fixed bugs from the Practical Examination Dry Run (PED) (Pull requests #211, #212, #220).
- Implemented the mmm-d-yyyy format for the
-
Code contributed: RepoSense link
- Team tasks and Project Management:
- Managed deadlines and deliverables for the group, including updating the issue tracker and milestones.
- Enabled assertions for every Gradle run (Pull request #102).
- Documentation:
- User Guide:
- Developer Guide:
- Community: