Project: WedLog
WedLog is a desktop application created for partners getting married that helps them manage the guests and vendors involved in the wedding.
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. This project is based on AddressBook - Level 3.
Given below are my contributions to the project.
Features
- New Feature: Added the ability to add guests and vendors.
- What it does: Allows users to add new guests and vendors with all the associated fields to WedLog.
- Justification: This feature is central to the product as users cannot manage guests and vendors without being able to add them.
- Highlights: The implementation was challenging as guests and vendors had optional fields which users could choose not to fill in.
- New Feature: Added the ability to edit guests.
- What it does: Allows the user to edit fields of a guest.
- Justification: This feature improves the product significantly because a user may want to modify guest information and the app should provide an easy way to do so without having to remove and add the guest back.
- Highlights: The implementation was challenging because guests have optional fields which can be removed by using empty prefixes in the edit command. This required a careful consideration of design alternatives.
- New Feature: Added the ability to filter guests by fields that stored information as tags (i.e., Dietary Requirements and Tags fields).
- What it does: Allows users to filter all guests using tag fields.
- Justification: This feature improves the product significantly as users may want to view all users that belong to a certain category (e.g. "vegans", or "classmates") without searching for them individually.
- Highlights:
- The implementation was challenging as unlike non-tag fields, tag fields can store multiple values (e.g. a guest may have two Dietary Requirements tags). Hence, there was a need to carefully consider use cases to decide on the final design where users can filter via multiple tags.
- Ensured high test effectiveness and efficiency by applying test heuristics like equivalence partitions to test designs (see
TagPredicateTest
and GuestDietaryPredicateTest
).
Code Contributed
RepoSense link
Documentation
- User Guide:
- Added documentation for
guest edit
: #127 - Updated documentation for
guest add
: #105 - Updated documentation for
vendor add
: #106 - Updated documentation for
guest filter
: #153 - Enhanced Quick Start and FAQ sections: #276
- Credits: FAQ section was reused with minor modifications from AY2324S1-CS2103T-W11-2.
- Developer Guide:
- Added implementation details of the
add
feature: #150, #268 - Wrote Appendix D Effort: #268
Contributions to team tasks
- Organised team meeting agenda based on weekly deliverables and tracked deadlines determined during team discussions.
- Allocated issues identified in PED to team members on GitHub.
- Managed release
v1.4
.