Tan Yiming'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.
-
Code contributed: RepoSense link
- New Feature 1: Tagging the musicians with their instruments and genres #73, #83
- What it does: it allows the user to tag the musicians with their instruments and genres while checking the input against a list of valid instruments and genres
- Justification: they are more specialised and less error-prone than AB3’s general tags, catering to the needs of the target users (music producers)
- Highlights: this enhancement involves changing all layers of the application from
UI
toStorage
and is the basis of many other features like find musicians. - Credits: I took the inspiration from the
tag
feature in AB3 and extended it to suit the needs of the target users.
- New Feature 2: Adding musicians to a band #137, #195
- What it does: it allows the user to add multiple musicians to a band using the indices of the musicians and the band
- Justification: it is a common use case for music producers to add multiple musicians to a band at once and checking their suitability for the band
- Highlights: this enhancement involves integrating the existing (refactored from
Person
)Musician
list with the newly createdBand
list and requires the knowledge of both components. - Credits: My teammate did the initial implementation of this feature which supports adding one musician at a time. I extended it to support adding multiple musicians at once. I also refactored the code and enhanced its error handling.
- Enhancements to existing features:
- Team tasks contributions:
- Set up the product website and did site-wide settings #51
- Reviewed PRs of team members and gave constructive feedback
- Structured and formatted the UG and DG to ensure consistency across the team members #200, #222, #224
- Fixed bugs for other features #144, #194
- Product-wide modifications, like GUI #140
- Conducted post-PE-D bugs triage, classify bugs and close duplicate and irrelevant issues
- Managed the aggregation and distribution of tasks among team members
- Documentation:
- User Guide #154, #200, #219, #222
- Product introduction and overview
- How to use the guide
- Features:
edit
,tags
,find
,addm
- Command Summary
- Glossary
- Developer Guide #203, #208, #224, #227, :
- Features:
tags
,find
,addm
- Added two activity diagrams (
find
andaddm
), one sequence diagram (find
), and one class diagram (tags
) - Use cases
- User stories
- Planned enhancements
- Features:
- User Guide #154, #200, #219, #222
- Contributions to the User Guide (Extracts):
- Contributions to the Developer Guide (Extracts):