Jarrett Teo's Project Portfolio Page
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 addedListBookCommand
.- 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. ForLogic
, commands had to acoomodate the new book object.Model
is self explantory and forStorage
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
andv1.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.
- Added documentation for
- Developer Guide:
- Changed
UI
andModel
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.
- Changed
- User Guide:
- Community: