tp

Benjamin Ng - Project Portfolio Page

Overview

SysLib is a command-line interface (CLI) software designed for system librarians, particularly those with proficient typing skills. It offers a comprehensive set of functions, including viewing, adding, searching, editing, deleting, and saving, to effectively oversee library resources and events.

Summary of Contributions

Code contributed

View the code I contributed via the tp Code Dashboard link here.

Enhancements implemented

Enhancements:

  1. Methods to display messages to users and keep outputs consistent
  2. Summary Feature for Resources
  3. Edit feature for Events
  4. Status of attribute for resources

Details:

1. Methods to display messages to users

Main methods implemented:

showHelpMessage() and showExitMessage()

Also ensured that all outputs are consistent with a divider line so as to easily differentiate between a user input or program output (much harder than it sounds.)

2. Summary feature

Main implementation: SummaryCommand class

Implemented the summary feature.

Summarises all resources that are currently in the database by item type and helpfully displays it into a bar based on quantity for easy viewing.

Also summarises all events, shows the total number of events and shows the 3 upcoming events in order.

3. Edit feature for Events

Main implementation:

EventEditCommand class

Implemented the eventedit feature for all events.

Edit feature supports editing:

Implemented validation and error checking for EventEditCommand, which prevents changing of any attribute of no new changes were input. In that scenario, prints a message to the user to say that no attributes were changed

Ensures that if the Date attribute of the Event was to be changed, the edited Event would be slot in in accordance to the date.

4. Status attribute for Resources

Main implementation: getStatus(), setStatus() in Resource class

Implemented methods in Resource class which sets the status of the resource when executing addCommand (defaults to AVAILABLE when no input is given). This attribute indicates the status of the resource. To do so, an enumerator was created with AVAILABLE, BORROWED OR LOST was created.

Also allowed resource’s status to be able to be edited later.

4. Help Command

Main implementation: HelpCommand class

Allows users to key in help so give the users a basic understanding of the commands available as well as to lead the users to the User Guide for more information if they would like.

Allowed for the commands to be easily be understood as well as a short explanation of the commands and easy-to-read examples.

5. Exit Command

Main implementation: ExitCommand class

Implemented the exit feature to allow the user to exit the program safely. Prints a message to the user to indicate that their stored information has been saved and they are exiting the program.

Thanks for using SysLib! We have saved the current resources and events.
See you next time!
____________________________________________________________

Contributions to the UG:

Sections contributed:

Contributions to the DG:

Sections contributed:

Contributions to team-based tasks

Review/mentoring contributions:

Contributions beyond the project team: