Project: IntelliBrary

IntelliBrary is a desktop library management application used for library administrators to manage books. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java.

Given below are my contributions to the project.

  • New Feature view the Stocking of a book #80
    • What it does: allows the librarian to view the stocking of a book in every location.
    • Justification: This feature provides a useful service for the librarian to estimate whether the current stocking of a book is enough and whether the library should purchase more copies of the book to satisfy the reader need.
  • New Feature add, view, delete, and edit the Review of a book #126 #213 #231 #237 #244
    • What it does: allows the librarian to record rating and feedback from the readers and estimate the popularity of the book.
    • Justification: This feature provides the means for librarian to evaluate the quality of the books as well as the need and appetite of the readers, helping the decision of future book purchase.
  • Code contributed: RepoSense link

  • Enhancements to existing features:
    • Create new user interface book card to accommodate different commands: Review #80 #126
      • Added the user interface component LibraryBookDetailStockingCard
      • Added the user interface component LibraryBookDetailReviewCard and BookReviewCard which show the review of a book.
    • Add book cover #102
      • Added the BookCoverManager which selects the book cover for a book based on the category of the book.
      • Added the user interface component BookCardWithCover which shows the information of a book with the book cover.
    • Wrote additional tests for existing features #255 #362
  • Project management:
    • Managed the issue tracking and project task of Milestone mid v1.3 and opened Milestone v1.4
  • Documentation:
    • User Guide:
      • Added explanation about the association between the BookCover and the category of the book. #213
      • Added explanation about the format of Stocking in the add and edit command. #308 #315
      • Added explanation about the purpose of the Review functionality and its usage for the user of the application. #213
      • Added documentation about the usage of stock command. #145 #320
      • Added documentation about the usage of searchReview, addReview, deleteReview, and editReview command. #145 #231
    • Developer Guide:
      • Specified the target user profile regarding librarian. #24
      • Added implementation details about stocking and reviewing. #111 #328
      • Added the Class Diagram of the Stocking model and the Review model. #301 #328
      • Added Sequence Diagram for the execution of stock command and addReview command. #111 #328
      • Specified the use cases UC02, UC03, UC04, UC05, and UC06. #244 #253 #267
  • Contributions to the Team-Based Tasks:
    • Wrote the target user profile and value proposition in the Developer Guide. #266
    • Changed the icon of the application. #269
    • Helped to wrote the command summary in User Guide. #253
    • Opened Milestone v1.4 and managed the team project task in Milestone mid v1.3
    • Maintained the issue tracker and managed the team project task for Milestone mid v1.3
    • Provided technical suggestion for calculating the total number of times when a certain group of books is borrowed in the history command using getFilteredBookList
    • Helped to solve technical issues of RepoSense contribution detection in week 12, and provided suggestion to use git reset to set the state of upstream master branch.
  • Review contributions: pull requests reviewed, with most of which having non-trivial review comments

    PR1 | PR2 | PR3 | PR4 | PR5 | PR6 | PR7 | PR8 | PR9 | PR10 | PR11 | PR12 | PR13 | PR14

  • Community contributions