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