SysLib is a command-line (CLI) library management software tailored for system librarians, especially those who are fast typists. It offers a wide range of features to manage library resources and events, from adding, editing, viewing, searching, deleting, to saving data file.
View the code I contributed here.
Enhancements:
Details:
1. Resource classes
Implementation: Book, EBook, CD, Magazine, EMagazine, Newspaper, ENewspaper classes
Implemented the different resource classes for each resource has different attributes.
2. Add feature for resources
Implementation: AddCommand, CreateResource classes
Implemented the add feature to add resources into a list of all the resources in the library.
3. Parser for adding resources
Implementation: ParseResource, ParseAttribute, ParseBook, ParseEBook, ParseCD, ParseMagazine, ParseEMagazine, ParseNewspaper, ParseENewspaper classes &
parseAddCommand(), checkFirstItem() in Parser class
Implemented the validation and error handling of user input for the add feature. Checks the user input for all attributes in all resources. Returns error messages when invalid.
Validation checks for:
Limitations of input were reduced.
4. Exception class
Implementation: SysLibException class
Catches exceptions related to SysLib and prevents program from exiting due to exceptions. Returns error messages to user so that the exception can be prevented with the right user input.
5. Output of messages
Implementation: Messages class & formatSeparatorLineDivider() in MessageFormatter class
Messages strings are stored in Messages. It consists of mainly error, warning and assertion messages. formatSeparatorLineDivider() formats the messages neatly for output to user.
Sections contributed:
Sections contributed: