Project: LibTask

LibTask is a desktop application used by librarians to keep track of books, overdue books, and contact details of patrons who have borrowed them and those who requested them. 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. This project is based on AddressBook - Level 3.

Given below are my contributions to the project.

  • New Feature:
    • Added the ability to view patron and book details through LibTask GUI #49
      • What it does:
        • Allows users to view patron and book details quickly via the GUI.
      • Justification:
        • The feature will improve the users’ efficiency as they are able to get the details
      • Highlights:
        • This enhancement was challenging as it requires modifying the FlowPane and setting the FXML labels to render the patron and book cards in the main window.
        • In addition, it requires some measurements to ensure that the patron and book cards are rendered in-place.
      • Credits:
        • Using Scene builder to modify FXML files.
        • Understanding GridPane to evenly divide the GUI space for the respective patron and book lists via the doc oracle guide.
    • Added the ability to find all books related to a particular patron #97, #101
      • What it does:
        • Allows users to get a list of books related to a particular patron.
      • Justification:
        • The feature will improve the product significantly as it will help users to filter the books that are related to a particular patron of concern.
      • Highlights:
        • This enhancement was rather similar to the patron find command. However, the command takes in a patron index instead of keywords.
        • Furthermore, it is challenging as it requires the creation of a predicate to obtain the books that belong to the particular patron of concern.
      • Credits:
        • Worked with Yu Qi to implement this enhancement.
  • Code contributed: RepoSense link

  • Project management:
    • Changing product icon
    • Reviewed and approved PRs for merging
    • Proposed design suggestions
    • Created v1.3, v1.4, v1.4b milestones
  • Enhancements to existing features:
    • Updated the GUI to show book requests #111
    • Updated the GUI to show book status #84
    • Updated the GUI to show previous command #72
    • Updated the GUI to show patron card details #63
    • Added test cases for Book and Patron commands #88
  • Documentation:
    • User Guide:
      • Added documentation for the feature book related #112
      • Added documentation for quick start and introduction #16
      • Enhanced documentation for tutorial.
      • Added glossary section #138.
    • Developer Guide:
      • Added MSS for related book command #112
      • Updated hyperlinks and terms #75
      • Updated UiClassDiagram #209
      • Added Sequence and activity diagrams for book related command #209
  • Review/mentoring contributions:
  • Community:
    • Bugs reported for other teams can be found here.
  • Tools:
    • Assertions
    • Gradle
    • Intellij
    • Scene Builder