Ng Hong Liang'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.
-
Code contributed: RepoSense link
- New Feature: Added the
addRole
feature to add a new role to a specific company.- What it does: Allow users to add a role to a specified company along with its relevant information.
- Justification: This feature is necessary since users might have applied for multiple roles within the same company.
- Highlights: This change required a nested
RoleManager
in order to handle changes done to theRoleList
of the company. Besides adding a layer of Facade,RoleManager
also ensure cases whereby only a ReadOnly list is produced as an added defensive programming practice.
- New Feature: Updated
find
feature to find companies and roles.- What it does: Allow users to look for specific companies and roles which matches certain keywords.
- Justification: This feature is necessary since there might be many companies and inside each company, many roles. Resulting in a massive list which might not be able to be displayed in its entirety in our UI. Since we are catering our application for CLI-centric users, this command must have the capability to look through both company and role storage.
- Highlights: This enhancement required a major revamp to filtering predicates, and it was challenging as we are basically narrowing three behaviours into one command.
- Project management:
- Ensured proper integration between all member’s commits
- Ensured proper documentation in UG and DG corresponds to our features and updates.
- Enhancements to existing features:
- Implemented new parser methods for parsing for
Role
features #126 - Implemented testing for
find
feature #105 - Implemented testing for
reminder
feature #191 - Added maximum length enforcement for
CompanyName
,RoleName
andPhone
number fields #271 - Added validity check for
CompanyName
andRoleName
keywords infind
feature #305
- Implemented new parser methods for parsing for
- Documentation:
- User Guide:
- Developer Guide:
- README:
- Updated readme to fit the project. #36
- Community: