PROJECT: Reeve

Reeve is a desktop companion application for one-on-one private tutors designed to help them better manage their students’ academic and administrative needs. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.

Summary of Contributions

  • Major enhancement implemented:
    • Developed the notebook feature of Reeve.

      • What it does: Reeve’s notebook allows tutors to keep track of notes containing small amounts of information unrelated to students .
      • Justification: This feature is important for a private tutor as there are times when there is information relating to tutoring that needs to be stored but it is not related to any student. This helps to make Reeve a one stop location for storing all kinds of information.
      • Highlights: This involved substantial work integrating with the existing modified GUI as the notes panel needed to be of a fixed size after resizing while not overlapping with any other sections. The code, while adapted from address book code, also needed integration with Reeve to ensure proper reading and writing to storage when the program is run.
  • Other enhancements implemented:
    • Created sort command to allow sorting of the student list by name, class time or year of study. (#112)
      • Justification: This feature is important as it allows private tutors to navigate through the list of students better depending on the needs of the tutor.
    • Enhanced find command to allow searching by multiple criteria and added support for searching by name, school and year of study. (#60)
  • Code contribution: RepoSense link
  • Other contributions:
    • Substantially reworked the structure of Year class for better input validation and management. (#96)
    • Helped to rename Address Book references to Reeve (#67)
  • Project management:
    • Reminded team of deliverables.
  • Documentation:
    • User Guide:
      • Updated documentation for the command find (#38 and #60)
      • Added documentation for the command sort (#130)
      • Added documentation for notebook feature (#228)
    • Developer Guide:
      • Added implementation details of the find and sort and command (#250)
      • Added implementation details of the notebook (#250)
      • Added use cases and user stories (#250)
  • Community:
    • PRs reviewed (with non-trivial review comments): #194
    • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3)