Jason Tay's Project Portfolio Page
Project: ClientBook
ClientBook is a client management desktop application made for insurance agents to more conveniently manage their client information to serve their clients better. ClientBook has a command-line interface optimized for use with just a keyboard, but still offering a graphical interface for ease of viewing of client information.
Given below are my contributions to the project.
- New Feature: Extension to list and find commands to filter the ClientBook to show only specific information about clients.
- What it does: Allows the user to specify one or more attributes using identifiers to filter what information they would like to see.
- Justification: When there is a large amount of client information, it would become cluttered and difficult to look for some specific information. If the user wants to make phone calls, he can filter the list to show only client phone numbers, so that he does not need to sieve through the unnecessary information.
- Highlights: The implementation of this feature allowed me to gain a very good view of the entire code structure. It challenged me to come up with a solution on how to change the displayed client list, without changing the actual client list within the data of the app.
- New Feature: Extension to edit command to be able to modify, append, insert or replace insurance policies for clients
- What it does: Allows user to flexibly edit the insurance policies of their clients in multiple ways.
- Justification: Previously, everytime a user wants to edit some information about their clients, the only option is to replace the old information with the new information. This is highly inefficient, since the user would have to type out an entire list of insurance policies even if he only wants to change 1 insurance policy. With this feature, the user can manage his clients’ insurance policy information much more easily.
- Highlights: This enhancement required me to go in-depth on how the edit command works, rework and improve the logic
and functionality of the command. The challenge was in figuring out how to add new functionality without making the existing
feature convoluted.
- Code contributed: RepoSense link
- Project management:
- Managed issues related to bug fixes and milestones
v1.1
-v1.4
on GitHub.
- Managed issues related to bug fixes and milestones
- Documentation:
- User Guide:
- Adapted user guide from original AB3 user guide to ClientBook user guide.
- Added documentation for extensions to
edit
command andlist
command functionalities. - Added screenshots and notations for readers to more easily follow and visualize the features in the app.
- Developer Guide:
- Added implementation details and UML diagram for
edit
here - Added user stories and use cases for
list
andedit
features. - Modified AddressBookParser to ClientBookParser in DG text and all UML diagrams.
- Added implementation details and UML diagram for
- User Guide:
- Community: