Lim En Tian's Project Portfolio Page
Project: LinkMeIn
Overview
LinkMeIn is a desktop address book application used to track computer science student’s job applications to companies. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about ~10 kLoC.
The features in LinkMeIn can be categorised into 3 main categories:
- General features: Navigating the application. Includes, help, exit and clear commands.
- Company management features: Manage an entry of a company. Includes, add, delete, edit, view, remark and unremark commands.
- Company list features: Manage the list of companies added. Includes, list, find, sort and filter commands.
Summary of Contributions
Given below are my contributions to the project.
Code contributed
You can find all the code I have contributed in RepoSense.
Enhancements implemented
1. Implemented display of application details in the GUI
This enhancement adds a horizontal SplitPane to add a panel to show application details of all the fields input by user.
Users change the company viewed by clicking on the list of companies on the right panel.
This is later on enhanced by my team member, Ru Xin, to be controlled by the view
command to adhere to our CLI app.
Edited MainWinfow.fxml
to restructure the GUI and created CompanyDetailCard.fxml
file to define structure of the panel added and its Java class to render the UI.
2. Implemented new feature: Remark feature
This allows users to write additional details to a specific application.
Created the Remark
class to add a remark to the Company
model.
RemarkCommandParser
and UnremarkCommandParser
classes are created to add and remove remarks respectively.
RemarkCommand
class is also created so that both parser extends from Parser<RemarkCommand>
.
Test cases were added for all the classes created.
3. Modified the edit command
Edited the code for edit
command so that the command can edit all the fields that we have added to the Company
model.
The edit
command should allow users to edit all the fields for more convenience and better user experience.
Added more checks in EditCommandParser
to provide more specific error message for invalid inputs.
Test cases were edited to test for fields and error messages added.
Contributions to the UG
-
CLI Description : Added an introduction to CLI for users to learn how to write commands.
-
Features : Added description, examples, possible errors and images for the following features. Tips, notes and warnings are also added if applicable.
- Edit
- Remark
- Unremark
- Clear
- Exit
Contributions to the DG
- Added NFRs
- Added planned enhancements
- Added how Edit Command and Remark Command works under Implementation
- Created a UML sequence diagram to explain Edit Command
- Created a UML activity diagram to explain Remark Command
Contributions to team-based tasks
- Created new issues under the issue tracker