Ong Wee Marcus'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:
- Updated the GUI for the application and added the
listEvents
command #54- What it does: The application can now display events concurrently with persons and entering the command
listEvents
displays all events in the application to the user. - Justification: This feature allows the user to see events in the current order in which they are stored as data and has been extended to sort events permanently.
- What it does: The application can now display events concurrently with persons and entering the command
- Added the
Date
andTime
attributes for Events and theDate
attribute for Person #106, #129- What it does: Events can now store a starting date and time while each person can store their date of birth.
- Justification: This feature allows the user to view the start date and time of every event in the application as well as view the date of birth of all persons in the application. These attributes have been used to create and display an event’s statistics about its attendees’ gender distribution and age.
- Credits: Reused code from Hong Liang (team member) and re-abstracted the code to form the date package so that it can be used by both the
Event
andPerson
class.
- Created the GUI display for statistics and created the
makeStats
command to open the statistics GUI display #131- What it does: Opens a new window showing a coloured pie chart of a statistic.
- Justification: This feature allows the user to see the statistics of an event visually.
- Added the
findEvents
command #128- What it does: Displays all events that match the keywords that have been inputted.
- Justification: This feature helps the user to better locate the events that they are looking for if they are already managing many events.
- Implemented automated testing for
DateTest
,StartTimeTest
,FindEventsCommandTest
,ListEventsCommandTest
andDeleteEventTest
#231,
- Updated the GUI for the application and added the
- Documentation:
- User Guide:
- Added documentation for the
findEvents
command. - Removed documentation for the
tag
field inaddPerson
andeditPerson
features. - Updated documentation for
findPersons
command. - Standardised the overall user guide for V1.4.
- Added documentation for the
- Developer Guide:
- Added documentation for V1.1 and the
listEvents
command. - Did the manual testing and effort sections for V1.4.
- Added documentation for V1.1 and the
- User Guide:
- Contributions to team-based tasks:
- Setting up the GitHub team org/repo.
- Organizing and facilitating bi-weekly team meetings as the Team Lead.
- Distributing workload amongst team members.
- Updated the README for V1.4.
- Community: