Tan Yang Yi's Project Portfolio Page
Project: BandConnect++
BandConnect++ is a desktop application that helps music producers seeking talented musicians to manage their musician contacts and form a band of their preferences. It is optimised for CLI users so that frequent tasks can be done faster by typing in commands.
Given below are my contributions to the project.
- New Feature 1: Delete a band #89
- What it does: Allows users to delete a band using the index of the band.
- Justification: It is a common use case for music producers to remove bands that are disbanded or otherwise no longer needed.
- Highlights: This enhancement involves updating the
FilteredBandList
to remove the band that is deleted. In addition, the GUI will update the band list to reflect the removal of the band. - Credits: I took inspiration from the
DeleteCommand
of the original AB3 and applied the same logic to theFilteredBandList
.
- New Feature 2: Remove a musician from a band #93, #130
- What it does: Allows users to remove a musician from a band using the indices of the musician and the band.
- Justification: It is a common use case for music producers to manage their bands and delete musicians who are no longer present.
- Highlights: This enhancement involves a new operation in the
UniqueBandList
to access the targetBand
andMusician
objects, and then removing the musician from the band. A new method,updateFilteredBandMusicianList
, was also implemented to reflect the updated band members in the GUI. - Credits: I took reference from the implementation of
AddMusicianFromBandCommand
and applied the logic in reverse for this feature.
-
Code contributed: RepoSense link
- Enhancements to existing features:
- Organised the Commands and corresponding Parsers to sub-packages
band
,musician
andgeneral
#97
- Organised the Commands and corresponding Parsers to sub-packages
- Team tasks contributions:
- Reviewed PRs of team members and gave constructive feedback
- Made significant enhancements to the product to include the
Band
entity, which involved: - Did regular inspection of the
Band
-related sections of the code and ensured consistency across all methods #98 - Enhanced the UG to cater to the target audience of the product
- Project management:
- Reviewed the code and made GitHub releases for the
v1.1
,v1.2
andv1.3
milestones. - Wrapped up the
v1.1
,v1.2
andv1.3
milestones. - Ensured that all issues were accounted for and managed the issue tracker for each milestone.
- Reviewed the code and made GitHub releases for the
- Documentation:
- Community:
- Participated in PE Dry Run and gave 7 detailed bug reports for team T12-2
- Participated in CATcher smoke and load testing