Tan Hong Liang's Project Portfolio Page
Project: Duke The Market
Duke The Market is a desktop application used for managing customer contacts and events in department stores. 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.
-
Code contributed: RepoSense link
- Enhancements implemented:
-
New Feature Added date of birth field to Person, also created the date of birth field type. (later to be evolved into date field type) (Pull requests #55, #62, #101) * What it does: 1. Allows the user to add a person with a date of birth field to the person list. 2. Allows the user to edit the date of birth of an existing person in the person list. 3. Date of birth field type is later evolved to serve as the date field type of the date field in both persons and events as well (Related
addEvent
andeditEvent
commands implemented by another team member). * Justification: Date of birth is a common field in personal profile, and it can be used in demographic analysis for marketing event attendees (related commandmakeStats
see below). -
New Feature Implemented a statistics generation system for events, based off the age and gender of the people tagged to the events. (Pull requests #132, #142) * What it does: 1. Allows the user to generate a piechart that shows the statistics of the age or gender of the people tagged to an event. 2. The piechart appears in a seperate window, allowing users to multi-task and view both the statistics as well as the main application window. * Justification: In order for marketing departments to manage their marketing events, they need a way to view the statistics of events so as to evaluate their successes. * Highlights: This feature requires using the charts package of the JavaFX library, which is otherwise not used in this application.
- Testing
- Added unit tests for date, added date related tests for add and edit persons’ features.
- Added unit tests for StatisticsData and StatisticsDataList, added test suite for makeStats feature
- Refactoring Refactored the old
add
command into theaddPerson
command to distinguish fromaddEvent
command.
-
- Documentation:
- Contributions to the User Guide:
- Contributions to the Developer Guide:
- Contributions to team-based tasks:
- Created the demo of product in V1.2.
- Edited the landing page for V1.3.
- Facilitated weekly meetings when Team Lead was not available.
- Edited the landing page for V1.4.
- Community: