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