Glenda Chong Rui Ting's Project Portfolio Page
Project: LinkMeIn
LinkMeIn is a desktop address book application for NUS Computer Science students to track their internship applications. The user interacts with it using a Command Line Interface (CLI), and it has a Graphical User Interface (GUI) created with JavaFX. It is written in Java, and has about ~10 kLoC.
Summary of Contributions
Given below are my contributions to the project.
-
Code Contributed: The code that I have contributed can be found in this RepoSense link.
- New Feature: Filter Companies
- What it does: Filters the list of companies by application status.
- Justifications: Users may wish to only view internship applications of a particular status. For example, they may wish to put more attention into applications that are pending interviews, so that they can prepare for the interviews.
- Highlights: The
filter
command relies on the new predicate,ApplicationStatusPredicate
, to test if the company’s application status matches the application status given by the user. Thefilter
command also uses the updatedCompanyListPanel
to display the filtered list of companies.
- New Feature: Update GUI for
CompanyListPanel
andCompanyDetailPanel
- What it does:
CompanyListPanel
andCompanyDetailPanel
are of a similar colour theme. All the fields displayed will not be truncated, and will be soft-wrapped instead. - Justifications: This update will improve the user experience of the GUI, and allow them to view the full information of the company.
- What it does:
- Enhancement to Existing Features:
- Enhance Error Messages for Fields in Company Model
- What it does: For each field, there will be 2 main error messages, 1 for when the field is empty and 1 for when the field does not follow the valid regex.
- Justifications: The user needs to know exactly what is wrong with the input, and be able to correct it easily.
- Highlights: While the change was not difficult to implement, it was very tedious due to the large number of fields in the company model. It was very crucial to also not break the existing code base.
- Enhance Existing
add
Command- What it does: The
add
command now accepts all the new fields added to the company model, includingRole
,RecruiterName
,ApplicationStatus
andDeadline
. The error messages for theadd
command now also differentiates between empty inputs, invalid fields, or duplicate fields. - Justifications: The
add
command is one of the most important commands in LinkMeIn. By adding more fields to theadd
command, it allows the user to add more information about the company. More specific error messages also allow the user to know exactly what is wrong with the input, and be able to correct it easily.
- What it does: The
- Enhance Error Messages for Fields in Company Model
- Contributions to the UG
- Navigating the User Guide: Add the annotations and icons using bootstrap alert icons.
- Quick Start: Improve on this section with step-by-step instructions, including adding more details and screenshots.
- Features: Add a company (
add
), List all companies (list
), Filter companies by application status (filter
)- Include description of command, format, notes, tips, examples and possible errors.
- Glossary: Add definitions of key terms, parameters description, application status parameter description and email format description sections.
- Command Summary: Add the command summary table.
- Contributions to the DG
- Add use cases.
- Add 3 planned enhancements.
- Add non-functional requirements.
- Add implementation details for
filter
andadd
commands. - Add instructions for manual testing section.
- Contributions to Team-Based Tasks
- Contributions beyond the Project Team
- Extensive number of bugs reported for the other team’s product during PE-D (28 bug reports)