Kerby Soh's Project Portfolio Page
Project: Tinner
Tinner (Anagram of Intern) is a desktop app for managing internship applications, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, Tinner allows you to easily sort through and retrieve the relevant information faster than traditional GUI apps.
Given below are my contributions to the project.
- New Feature: Revamped the
find
command to search for specific companies and/or specific roles.- What it does: Allows the user to find specific companies and/or roles upon supplying relevant role and/or company keywords. Previously, users could only use this command to search for a specific company.
- Justification: This feature is necessary for the user to track and manage specific internship applications, allowing users to achieve more flexibility.
- Highlights: This enhancement required a major revamp to filtering predicates, and it was challenging as there were many edge cases to consider.
- New Feature: Added the
favourite
,unfavourite
andlistFavourite
commands to favourite and unfavourite specific companies, and to view favourited companies.- What it does: allows the user to mark specific companies as their favourite, following which these companies will have a star indicated beside their name in the Graphical User Interface (GUI). Then, users can unfavourite these companies and view all favourited companies in a separate view.
- Justification: This feature is necessary for users to highlight specific companies that they are more interested in, and view these companies separately from the rest.
- Highlights: This feature required major changes to components in the
Storage
class.
-
Code contributed: RepoSense link
- Project management:
- Set up project team organisation, repository and the project website.
- Enhancements to existing features:
- Adapted code from Address Book 3 to suit the context of Tinner (Pull requests #43, #47)
- Implemented a new RoleManager class to handle role related operations (Pull request #49)
- Updated the GUI to display roles and role tags (Pull requests #69, #72)
- Wrote additional tests for existing features to increase coverage from 66% to 69% (Pull requests #274, #282, #286)
- Documentation:
- User Guide:
- Developer Guide:
- Community: