Project: BandBook
BandBook is a desktop band contact and attendance management application optimised for CLI users. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 5-6 kLoC.
Given below are my contributions to the project.
Code Contributed: RepoSense link
New Feature: Added the ability to assign an instrument to a person.
- What it does: allows the band administrator to assign an instrument to one or more people in one command.
- Justification: This feature improves the product significantly because it allows the band administrator to easily manage the band members' instruments and coordinate performance rehearsals.
- Highlights: This enhancement also utilises the instrument field
i/
to assign instruments to people. - Credits: This feature was built upon the existing
edit
command.
Enhancements to Existing Features:
- User Interface:
- Updated GUI styling and color scheme: #32
- Logic:
- Updated
add
and edit
command to account for the instrument field: #46, #58 - Updated
find
command to allow the user to find people by name and/or instrument: #51
- Tests:
- Updated existing test cases to account for the
add
, edit
and assign
feature: #46, #58 - Updated existing test cases to account for the
find
features: #51
- Java Documentation:
- Added JavaDoc for all relevant classes and methods in codebase: #121
Project Management:
- Set up the GitHub product website on MarkBind
- Set up and maintained the GitHub milestone and issue trackers for
v1.1
, v1.2
, v1.3
, v1.3b
, v1.4
- Managed release
v1.3.1
on GitHub with comprehensive release notes
Documentation:
- Product Website:
- Maintained navigation bar links: #119
- Created UI mockups for BandBook: Figma link
- Index:
- Updated project name references: #47, #53
- About Us:
- Updated team members' profile images, GitHub links, roles and responsibilities: #11, #18, #53
- README
- Updated latest information about the project: #13, #18, #118
- User Guide:
- Updated project name references: #30, #46
- Updated Introduction section: #65
- Updated documentation for the
add
, edit
and find
feature: #46, #53 - Updated FAQ section with more questions: #116
- Added documentation for the
assign
feature: #46 - Added Parameters Constraints section: #103
- Added UI screenshots for various features: #59, #116
- Added Glossary section: #123
- Added Acknowledgement section: #57
- Developer Guide:
- Updated project name references: #47
- Updated UML Diagrams: #37, #60
- Updated User Stories section: #47
- Updated Use Cases section: #47, #60
- Updated Non-Functional Requirements section: #47
- Updated Glossary section: #126
- Updated Appendix B: Instructions for Manual Testing: #60, #126
- Added Implementation Details section for
assign
and find
feature: #110 - Added Appendix C: Possible Future Enhancements section: #110, #126
Community:
- PRs reviewed (with non-trivial review comments): #38, #44, #52