Teo Sin Yee's Project Portfolio Page
Project: SportsPA
SportsPA is a desktop application used to manage membership and training sessions of NUS sports CCAs. 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.
- New Feature: Added the ability to find members based on multiple attribute keywords.
- What it does: Allows the user to filter the member list by specifying one or more attribute keywords.
- Justification: This feature improves the user experience significantly as users can now find specific members with the specified attribute keywords. This feature essentially filters the member list to the users’ liking, thus unimportant data is hidden and only relevant data is displayed to the user.
- Highlights: Implementing this feature was challenging as it required modifications to the parser to parse multiple prefixes and chain multiple predicates. A unique Predicate class was also created for every attribute.
- Pull request: #161
- New Feature: Added the ability to sort the member list.
- What it does: Allows the user to sort the member list, either by name or tags.
- Justification: This feature improves the user experience significantly because the member data can now be arranged into a meaningful order, making it easier for users to analyse and visualise the data. Presentation of the application is also improved since the data can be presented in a systematic manner.
- Highlights: Implementing this feature was rather challenging due to the added complexity of
FilteredList
being an unmodifiable list. It required careful examination of the code base to figure out where the list could be modified. - Pull request: #144
-
Code contributed: RepoSense link
- Team Tasks:
- Managed release
v1.3.1
on GitHub - Refactored
AddressBook
toSportsPA
(Pull request #241)
- Managed release
- Enhancements to existing features:
- Removed unnecessary attributes from Member (Pull request #103)
- Added facility field validations and related tests (Pull request #113)
- Fixed bugs from PE-D (Pull request #209)
- Implemented empty list check for list-related commands and added relevant error messages (Pull request #264)
- Refactored code to improve code quality and added tests for
AllocateMemberCommandParser
andDeallocateMemberCommandParser
(Pull request #266)
- Documentation:
- User Guide:
- Developer Guide:
- Added implementation details of the
findm
feature. (Pull requests #161, #221) - Updated the
Model
section and several UML diagrams to reflect changes made to it forSportsPA
(Pull request #244) - Added “Introduction” and “Using the developer guide” section and defined keyboard inputs by using the HTML keyboard input element to improve readability (Pull requests #266, #288)
- Added preamble for features (Pull request #285)
- Added implementation details of the
- Community: