Winson Heng’s Project Portfolio Page
Winson Heng’s Project Portfolio Page
Project: E-lister
E-Lister is a desktop address book application used for streamlining contact management in insurance 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.
Given below are my contributions to the project.
- Feature I: Added the
export
command.- What it does: Exports the data into a csv file at a location selected by the user.
- Justification: This feature provides a convenient way for insurance agents to mass extract contact information such as email and phone number.
- Highlights: This feature required the implementation of new helper classes to convert
Person
objects into csv-friendly text outputs. - Additional info: There are two optional keywords that can be appended to this command, namely
all
andshown
.all
exports all contacts on the appshown
exports only contacts which are displayed, which is useful when the agent wants to target a specific group of potential customers
- Feature II: Added the
import
command.- What it does: Imports the data from a csv file selected by the user.
- Justification: This feature provides allows insurance agents to directly work on an existing dataset rather than adding contacts one by one.
- Highlights: This feature required the implementation of new helper classes to parse csv inputs into instances of
Person
. - Additional info: There are two optional keywords that can be appended to this command, namely
combine
andreset
.combine
merges the imported dataset with the existing contacts to preserve information while ensuring duplicates are ignoredreset
removes all existing data and allows the user to start fresh from his/her dataset
-
Code contributed: RepoSense link
- Project management:
- Ensured the harmonisation of different features in solving the needs of our target users
- Adviced and assisted feature design and debugging
- Managed milestone progress and ensured tasks were completed on time
- Enhancements to existing features:
- Ideation and design of UI enhancements, including the tags and history panes
- Refactored multiple classes and comments to match the E-Lister name
- Documentation:
- User Guide:
- Added documentation for own features
- Addition of various screenshots with labelled pointers to aid user navigation
- Developer Guide:
- Added implementation for
import
andexport
features - Added information on CSV-format conversion
- Added ExportSequenceDiagram.puml to illustrate the export command process
- Updated UML diagrams such as StorageClassDiagram.puml
- Added implementation for
- User Guide: