Project: ExpressLibrary

ExpressLibrary is a desktop application used for librarians to easily track the status of books in the library. 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: Modified the book object in ExpressLibrary so that it is not only a field in Person class and added ListBookCommand.
    • What it does: allows the user to list all books in ExpressLibrary.
    • Justification: This feature is essential for ExpressLibrary to function properly because the Book object is a very vital component of ExpressLibrary that would break exisitng and new commands if not implemented properly.
    • Highlights: This was very challenging as it required to all four components in ExpressLibrary in order to work. For UI, the GUI had to be reworked in order to accomodate the new book list. For Logic, commands had to acoomodate the new book object. Model is self explantory and for Storage reading and writing the new book object.
  • New Feature: Added colour coding for due dates when the book is about to expire/expiring.
    • What it does: alerts the user about the books that are going to expire by changing the colour of due dates so that the user can remind the borrowers to return their books.
    • Justification: This feature is a nice-to-have for ExpressLibrary as it provides users with instant visual feedback about what books to prioritise.
    • Highlights: It was interesting to find out how CSS works differently with JavaFX and coming up with alternative implementations to solve this problem.
  • Code contributed: RepoSense link

  • Project management:
    • Created and set up team repository
    • Managed all milestones
    • Managed releases v1.3 and v1.4.
  • Enhancements to existing features:
    • Mass refactoring of AddressBook to ExpressLibrary. (#44)
    • Updated PersonCard.java to reflect the new book object. (#62)
    • Improved on DeleteBookCommand and DeletePersonCommand to account for the case where the book has been borrowed / person has borrowed a book. (#109)
    • Added validation for dates on when editing dates for EditBookCommand. (#112)
  • Documentation:
    • User Guide:
      • Added documentation for listBook.
      • Added screenshots for some commands.
      • Added colour coding section for due dates.
    • Developer Guide:
      • Changed UI and Model diagrams to include new book object.
      • Added section on how data is saved in ExpressLibrary.
      • Added section on manual testing for saving data.
      • Added section on planned enchancements.
      • Modified target user profile in Appendix.
  • Community: