Liu Shuyang's Project Portfolio Page
Project: Link.me
Project Overview
Link.me is a desktop client management application for insurance agents to manage their contacts. The basic Link.me codebase is adapted from AddressBook Level 3, an address book app created under the Seedu Initiative. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 14 kLoC.
Summary of contributions
Features
- New Feature: Add notes feature.
PR
- What it does: allows the user to record, view and clear notes for clients.
- Justification: This feature improves the product significantly because it gives users the flexibility to record any type of information for clients. This means that users are no longer restricted to the fields we have provided, but can record anything they deem fit.
- Highlights: Unlike most other commands, the
note
command supports 3 seperate functionalities: recording, viewing and clearing notes. The implementation was to store the desired action in theNoteCommand
object, and execute theNoteCommand
differently depending on the action. Furthermore, viewing notes required implementing a seperate UI window to display the notes, and also required a way to pass notes all the way fromModel
toUI
.
- New feature: Add gender and birthdate fields to client.
PR
- What it does: allows the user to add gender and birthdate information for each client.
- Justification: This feature improves the product significantly because gender and age (which can be obtained from birthdate) information are particularly relevent when choosing an insurance plan. Insurance agents would likely find these additional fields useful.
- Highlights: For gender and birthdate, it is very important to ensure the validity of user input, as we don’t want users to enter an invalid gender or invalid birthdate (e.g. 1990-02-31). This cannot be performed using regex like the other commands, and requires robust checks.
Code contributed
Project management
- Managed milestones
v1.1
,v1.2
,v1.3
,v1.3b
andv1.4
(5 milestones) on GitHub - Managed releases
v1.2
,v1.3b
andv1.4
(3 releases) on GitHub - Setup and maintain issue tracker on Github
- Maintain project notes document
- Create product demo for
v1.2
andv1.3
on project notes document
Documentation:
- User Guide:
- Developer Guide:
- Others:
- Added initial UI mockup: #12