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
addRolefeature 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
RoleManagerin order to handle changes done to theRoleListof the company. Besides adding a layer of Facade,RoleManageralso ensure cases whereby only a ReadOnly list is produced as an added defensive programming practice.
- New Feature: Updated
findfeature 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
Rolefeatures #126 - Implemented testing for
findfeature #105 - Implemented testing for
reminderfeature #191 - Added maximum length enforcement for
CompanyName,RoleNameandPhonenumber fields #271 - Added validity check for
CompanyNameandRoleNamekeywords infindfeature #305
- Implemented new parser methods for parsing for
- Documentation:
- User Guide:
- Developer Guide:
- README:
- Updated readme to fit the project. #36
- Community: