Welcome to the SysLib User Guide: your all-in-one document to learn how to use SysLib to manage your work and responsibilities as a librarian.
Our user guide is for every system librarian whether you’re a beginner, novice, or expert in using a CLI library management software.
From viewing, adding, searching, and many more, SysLib provides all the features you need to optimize your work from hours to seconds. In no time, you will be typing intuitive commands to manage your library resources and upcoming events!
Without further ado, let’s get started with how to navigate the guide!
Information about how to use the guide (e.g. how to navigate the document, meaning of icons and formatting used)
Important pointers to take note of:
The following table lists down the operating systems and their respective terminals that Syslib CLI has been tested on to work.
Operating System | Version | Recommended Terminal |
---|---|---|
Microsoft Windows | Windows 10 2004 and above | Windows Terminal (User Guide) |
Apple macOS | macOS 10.15 Catalina and above | Terminal (User Guide) |
Ubuntu Linux | Ubuntu 20.04.3 (LTS) and above | Bash Terminal (User Guide) |
⚠️ IMPORTANT:
If your operating system is not listed in the table above, it means our application has not been tested on it. We therefore cannot guarantee that the application will work as intended. We highly encourage you to use one of the recommended operating systems in the table above. We apologise for any inconvenience caused.
java --version
Syslib.jar
Syslib.jar
file into a folder on its own.cd <FILE_DIRECTORY>
, where <FILE_DIRECTORY>
refers to the directory to the Syslib.jar
file.java -jar Syslib.jar
. You should see the following welcome screen.____________________________________________________________
Data directory does not exist. Creating now...
Storage file does not exist. Creating now...
Loaded 0 resources and 0 events!
____________________________________________________________
.....................
-##@*+*@*++++++++++#@++##
.@. @-=%= *#-+%
:@ @+- :----------. .=#%
:@ @. *%----------@- =%
:@ @. #* @= =%
:@ @. #* *: :+
:@ @. *%-----. .=+****+-.
:@ @. :-----.-#*-. .:-*#-
:@ @. .%+. .@*#+.*%.
:@ @: %= %* +@.=%
:@ @*#*. -@ *###***+. @-
:@ .@:.=@... -@ .+*#*#### @-
:@#*++++++++. %=.%+ +# +%
:@. =++++++++-.%*.+%*@. *%.
%+ ........ =#*-:: .-*%=
=*************. .=+****+-.
____ _ _ _ ____ _ ___
/ ___| _ _ ___| | (_) |__ / ___| | |_ _|
\___ \| | | / __| | | | '_ \ | | | | | |
___) | |_| \__ \ |___| | |_) | | |___| |___ | |
|____/ \__, |___/_____|_|_.__/ \____|_____|___|
|___/
Hello! What would you like to do?
____________________________________________________________
Syslib CLI allows System Librarians to create Resources (Books, Magazines, Newspapers, CDs, eBooks, eMagazines, eNewspapers) as well as Events.
Our intuitive system ensures that you never lose track of your valuable resources and events. Here’s how it works:
> exit
Thanks for using SysLib! We have saved the current resources and events.
See you next time!
____________________________________________________________
____________________________________________________________
Data directory exists.
Storage file exists.
Loaded 2 resources and 1 events!
____________________________________________________________
storage.txt
, conveniently located in the data
directory.
data/storage.txt
> Syslib.jar
> data/ // Primary folder for storage
> └── storage.txt // Text file containing a list of resources and events saved.
Happy organizing!
add
| Return to ContentsAdding New Resources to Your Library Inventory
Easily expand your library’s collection with our streamlined process for adding new resources. Here’s everything you need to know:
Resource Tags - Identify Your Resources
Choose the right tag to classify each new addition:
[B]
for Books[EB]
for eBooks[CD]
for CDs[M]
for Magazines[EM]
for eMagazines[N]
for Newspapers[EN]
for eNewspapersElectronic Versions
E
is an electronic version.[EB]
is an eBook, [EM]
is an eMagazine, and [EN]
is an eNewspaper.Status Types - Keep Track of Availability Set the status to keep your inventory organized:
AVAILABLE
for items ready to be checked out.BORROWED
for items currently with users.LOST
for items that are missing.📚 Note:
Default Status
- Automatic Setting: If you don’t specify a status, we’ll automatically set it to
AVAILABLE
.ISBN requirements
- 13-Digit Requirement: Ensure the ISBN is exactly 13 digits for proper cataloging
Use of Slash (‘/’)
- Slash (‘/’) can only be used in two situations.
- To indicate the type of information you are entering. The required indications are in the ‘Format’ part of the commands.
e.g. /i for ISBN, /t for Title, /tag for Tag, etc.- When it is wrapped with words.
e.g. www.abc.com/def, Frankenstein/the Modern Prometheus- Examples of invalid use of slash (‘/’):
- /isbn
- www.abc.com/
- Frankenstein/ the Modern Prometheus
- Frankenstein /the Modern Prometheus
- Frankenstein / the Modern Prometheus
Quick Tips
The specific commands for each resource types can be seen below:
Format: add /i ISBN /t TITLE /a AUTHOR /tag b [/g GENRE /s STATUS]
Example input:
add /i 9780763630189 /t Frankenstein /a Mary Shelley /tag b
add /i 9780763630188 /t Moby Dick /a Herman Melville /tag b /g Adventure, Fiction
add /i 9780763630187 /t Harry Squatter /a J.K. /tag b /g History /s lost
Example output:
This book is added:
[B] ID: 3 Title: Harry Squatter ISBN: 9780763630187 Author: J.K. Genre: History Status: LOST Received Date: 11 Nov 2023
____________________________________________________________
📚 Note:
- Multiple genres are allowed for a single resource. You can separate the different genres using comma
,
.
e.g. Sci-Fi, Fantasy, Comedy
Format: add /i ISBN /t TITLE /a AUTHOR /tag eb /l LINK [/g GENRE /s STATUS]
Example input:
add /i 9780763630189 /t Frankenstein /a Mary Shelley /tag eb /l frankenstein.com
add /i 9780763630188 /t Moby Dick /a Herman Melville /tag eb /l www.mobyd.com /g Adventure, Fiction
add /i 9780763630187 /t Harry Squatter /a J.K. /tag eb /l www.jk.com/harrysquatter /g History /s lost
Example output:
Attention: Status is not stated. Status set to default: AVAILABLE.
This e-book is added:
[EB] ID: 2 Title: Frankenstein ISBN: 9780763630189 Author: Mary Shelley Genre: - Link: frankenstein.com
____________________________________________________________
📚 Note:
- Multiple genres are allowed for a single resource. You can separate the different genres using comma
,
.- e.g. Sci-Fi, Fantasy, Comedy
Format: add /i ISBN /t TITLE /c CREATOR /ty TYPE /tag cd [/s STATUS]
Example input:
add /i 9780763630189 /t Frankenstein /c Mary Shelley /ty Audio Book /tag cd
add /i 9770763630236 /t Mayday /c Kim Bondi /ty Video Recording /tag cd /s borrowed
add /i 9760763630369 /t Performing Arts in Singapore /c Evelyn Lim /ty Oral Interview /tag cd /s available
Example output:
This CD is added:
[CD] ID: 8 Title: Mayday ISBN: 9770763630236 Creator: Kim Bondi Type: Video Recording Status: BORROWED
____________________________________________________________
Format: add /i ISBN /t TITLE /b BRAND /is ISSUE /tag m [/s STATUS]
Example input:
add /i 9781234567913 /t Tech Trends /b Wired Tech /is Volume 22, Issue 3 /tag m
add /i 9781234567944 /t Cozy Living /b Better Homes Publishing /is Home Edition, May 2023 /tag m /s LOST
add /i 9781234567951 /t Market Movers /b Forbes Publications /is Quarterly Report, Q2 2023 /tag m /s BORROWED
Example output:
This magazine is added:
[M] ID: 11 Title: Cozy Living ISBN: 9781234567944 Brand: Better Homes Publishing Issue: Home Edition, May 2023 Status: LOST
____________________________________________________________
Format: add /i ISBN /t TITLE /b BRAND /is ISSUE /tag em /l LINK [/s STATUS]
Example input:
add /i 9781234567913 /t Tech Trends /b Wired Tech /is Volume 22, Issue 3 /tag em /l www.wiredtech.com/techtrends
add /i 9781234567944 /t Cozy Living /b Better Homes Publishing /is Home Edition, May 2023 /tag em /l www.cozyliving.net /s lost
add /i 9781234567951 /t Market Movers /b Forbes Publications /is Quarterly Report, Q2 2023 /tag em /l forbes.com /s available
Example output:
This e-magazine is added:
[EM] ID: 15 Title: Market Movers ISBN: 9781234567951 Brand: Forbes Publications Issue: Quarterly Report, Q2 2023 Link: forbes.com
____________________________________________________________
Format: add /i ISBN /t TITLE /p PUBLISHER /ed EDITION /tag n [/s STATUS]
Example input:
add /i 9730763630288 /t City Herald /p Metro Media Group /ed Morning Edition, March 15 2023 /tag n
add /i 9730763630277 /t Sports Daily /p Sports Press International /ed Daily Sports Wrap, March 15 2023 /tag n /s lost
add /i 9730763630266 /t Community Chronicle /p Local News Network /ed Weekly Community News, March 13, 2023 /tag n /s available
Example output:
Attention: Status is not stated. Status set to default: AVAILABLE.
This newspaper is added:
[N] ID: 16 Title: City Herald ISBN: 9730763630288 Publisher: Metro Media Group Edition: Morning Edition, March 15 2023 Status: AVAILABLE
Format: add /i ISBN /t TITLE /p PUBLISHER /ed EDITION /tag en /l LINK [/s STATUS]
Example input:
add /i 9730763630288 /t City Herald /p Metro Media Group /ed Morning Edition, March 15 2023 /tag en /l https://www.cityherald.com/march15-2023
add /i 9730763630277 /t Sports Daily /p Sports Press International /ed Daily Sports Wrap, March 15 2023 /tag en /l dailysports.com /s available
add /i 9730763630266 /t Community Chronicle /p Local News Network /ed Weekly Community News, March 13, 2023 /tag en /l www.lcn.com/news/031323 /s available
Example output:
This e-newspaper is added:
[EN] ID: 20 Title: Sports Daily ISBN: 9730763630277 Publisher: Sports Press International Edition: Daily Sports Wrap, March 15 2023 Link: dailysports.com
____________________________________________________________
delete
| Return to ContentsDeletes the resource with the specified ID from the library inventory. You can find the ID using the list
command.
Format: delete /id ID
Example input:
delete /id 1
Example input:
Looking for ID: 1...
This resource is removed:
[B] ID: 1 Title: Moby Dick ISBN: 9780763630188 Author: Herman Melville Genre: Adventure, Fiction Status: LOST
____________________________________________________________
list
| Return to ContentsThe list
command displays every resource in the library along with their details and categorized by their type Book
, Magazine
,CD
, or Newspaper
, giving you a quick and neat overview of all the resources in one place.
Looking for a more specific list? list
also offers you the capability to filter for a specific tag, genre, or status, generating a tailored list for your needs.
Format: list [/tag TAG /g GENRE /s STATUS]
📚 Note:
- Including more than one filter will list resources that satisfy ALL given filters.
- For example,
list /tag B /g Horror
will list Books with Horror genre.- You can only specify one keyword per filter.
- ALLOWED: /g Horror
- NOT ALLOWED: /g Horror, Fiction
Potential Issues:
You may face an issue where you are unable to see the list, or it’s difficult to read the table due to the display alignment. Kindly click here to jump to the Known Issues section to solve any issues regarding the list.
Example input:
list
list /tag B
list /g Thrill
list /s Available
list /tag B /g Fiction
list /tag B /g Fiction /s Available
Example output:
find
| Return to ContentsFind What You Need, Fast!
Our advanced search capabilities make it easy to locate the resources you need. Here’s how you can make the most out of our search tool:
📚 Note:
AUTHOR
also refers to the following:
- For Newspapers,
publisher
will be used.- For CDs,
creator
will be used.- For Magazines,
brand
will be used.
Quick Tips
Discover exactly what you’re looking for, effortlessly!
Format: find [/t TITLE OR /i ISBN OR /a AUTHOR/PUBLISHER/BRAND/CREATOR OR /id ID]
Example input:
find /t Moby Dick
find /i 9780763630188
find /a J. K. Rowling
find /id 123456789
find /id 123456789 /i 9780763630188
find /a Vogue
Example output:
edit
| Return to ContentsWe all know the horror of making a typo and having to delete and add a resource again—it’s absolutely dreadful.
Fear not! Update a resource’s details using the edit
command and fix your typos in a flash.
Format: edit /id ID /argumentname ARGUMENT [/argumentname2 ARGUMENT2..]
📚 Note:
- If you have forgotten the ID, execute
list
to locate your target resource and ID.- At least one argument to edit must be given.
- You can edit multiple details in one go by specifying multiple arguments. E.g
edit /id 1 /t NEWTITLE /a NEWAUTHOR
updates title and author.
Argument Names:
Argument names differ based on resource type. The table below shows the argument names you can enter for each resource type.
Type | Argument Names | Notes |
---|---|---|
Book eBook |
/t TITLE /a AUTHOR /g GENRES /s STATUS /l LINK /i ISBN |
/g GENRES: If you’re inputting multiple genres, separate them by with comma , . For example: /g Horror, Fantasy /l LINK: For eBook only. |
Magazine eMagazine |
/t TITLE /b BRAND /is ISSUE /s STATUS /l LINK /i ISBN |
/l LINK: For eMagazine only. |
Newspaper eNewspaper |
/t TITLE /p PUBLISHER /ed EDITION /s STATUS /l LINK /i ISBN |
/l LINK: For eNewspaper only. |
CD | /t TITLE /c CREATOR /ty TYPE /s STATUS /i ISBN |
For example, if you would like to update a eBook, you can edit the attributes given under the Argument Names column, that is the title, author, genre, status, link, and isbn.
Example input:
edit /id 1 /t NEW_TITLE
edit /id 1 /t NEW TITLE /a NEW AUTHOR /g Horror, Fiction /s LOST /i 1231231231234
edit /id 2 /c NEW CREATOR /ty NEW TYPE
edit /id 3 /b NEW BRAND /is NEW ISSUE
edit /id 4 /p NEW PUSBLISHER /ed NEW EDITION
Example output:
Successfully updated! Your updated resource:
[B] ID: 3 Title: Mary ISBN: 123 Author: John Genre: Horror, Adventure Status: LOST
____________________________________________________________
📚 Note:
- Events are stored separately from resources
- They are stored in chronological order (events that are happening sooner are closer to index 0)
eventadd
| Return to Contents📚 Note:
desc
is optional for all events- Any event without description will be shown as
null
Adds an event to the database.
Format: eventadd /t TITLE /date DATE [/desc DESCRIPTION]
Example input:
eventadd /t Fan meetup for xxx /date 11 Jan 2010
eventadd /t Meet and Greet for xxx /date 10 Jan 2010 /desc buffet style
Example output:
Event inserted at: 0
0: Fan meetup for xxx | 11 Jan 2010 | null
____________________________________________________________
eventlist
| Return to ContentsDisplays all events in the database.
Format: eventlist
Example input:
eventlist
Example output:
This is the current event list:
0: Meet and Greet for xxx | 10 Jan 2010 | buffet style
1: Fan meetup for xxx | 11 Jan 2010 | null
____________________________________________________________
eventdelete
| Return to Contents📚 Note:
- INDEX starts from 0 and can be viewed by calling
eventlist
- INDEX might change as those with earlier dates are inserted first
Deletes an event from the database based on the index provided.
Format: eventdelete /id INDEX
Example input:
eventdelete /id 0
Example output:
This event is removed:
Meet and Greet for xxx | 10 Jan 2010 | buffet style
____________________________________________________________
eventedit
| Return to Contents📚 Note:
- INDEX starts from 0 and can be viewed by calling
eventlist
- INDEX might change as those with earlier dates are sorted first
Edits attributes of an event based on information provided.
Format: eventedit /id INDEX [/t TITLE /date DATE /desc DESCRIPTION]
Example input:
eventedit /id 2 /t NEW TITLE
eventedit /id 0 /t NEW TITLE /date 23 Jan 2024 /desc NEW DESCRIPTION
Example output:
Event edited successfully. New event details:
0: NEW TITLE | 23-01-2024 | NEW DESCRIPTION
____________________________________________________________
summary
| Return to ContentsProvide a summary of resources added and upcoming 3 events
Format: summary
Example input:
summary
Example output
Summary of Resources:
Total Resources: 26
Total Books: [████████████████] 12
Total CDs: [███] 2
Total Magazines: [██████] 4
Total E-Books: [█] 1
Total E-Magazines: [████] 3
Total Newspapers: [███] 2
Total E-Newspapers: [███] 2
Summary of Events:
Total Events: 7
Upcoming Events (Next 3):
1. Storey telling session | 21 Dec 2023 | null
2. Maintenance | 21 Dec 2023 | null
3. New Year | 01 Jan 2024 | null
____________________________________________________________
exit
| Return to ContentsExits the program, all data in resource list and event list will be saved to a storage file.
Format: exit
Example:
> exit
Thanks for using SysLib! We have saved the current resources and events.
See you next time!
____________________________________________________________
help
| Return to ContentsDisplays a list of available commands with examples and their syntax format.
Format: help
Example:
Q: How do I download Java 11 on my computer?
A: Follow the guide here!
Q: How do I open command terminal?
A:
For Windows users, click Start and search for Command Prompt.
For Mac users, press Command ⌘
+ Space
on your keyboard to open Spotlight and type Terminal in the search field, then click Terminal.
Q: What should I do if I encounter an error or bug?
A: Go to your github issue page and submit an issue
including the following:
We will get back to you as quickly as possible!
Upon executing list
, you may encounter an issue where the table is out of alignment:
This issue is due to the window size of your command line terminal and occurs when you have long details in your resources.
Solutions:
You can try any of the following solutions to fix this issue:
Make your terminal full screen by clicking the square on the top right.
Decrease your font size by:
Right-click your terminal and click “Properties”
Click on “Font” tab and select a smaller font size that suits your display.
Action | Command |
---|---|
Add Book | add /i ISBN /t TITLE /a AUTHOR /tag b [/g GENRE /s STATUS] |
Add eBook | add /i ISBN /t TITLE /a AUTHOR /tag eb /l LINK [/g GENRE /s STATUS] |
Add CD | add /i ISBN /t TITLE /c CREATOR /ty TYPE /tag cd [/s STATUS] |
Add Magazine | add /i ISBN /t TITLE /b BRAND /is ISSUE /tag m [/s STATUS] |
Add eMagazine | add /i ISBN /t TITLE /b BRAND /is ISSUE /tag em /l LINK [/s STATUS] |
Add Newspaper | add /i ISBN /t TITLE /p PUBLISHER /ed EDITION /tag n [/s STATUS] |
Add eNewspaper | add /i ISBN /t TITLE /p PUBLISHER /ed EDITION /tag en /l LINK [/s STATUS] |
Delete Listing | delete /id <id of listing> |
Listing All Items | list [/tag <type of item> /g <genre of item> /s <status of item>] |
Find Specific Listing | find [/t <title of listing> OR /i <ISBN of item> OR /a AUTHOR OR /id ID] |
Edit a Listing | edit /id ID /argument1 <ARGUMENT1> [/argument2 <ARGUMENT2>]... |
Event Add | eventadd /t TITLE /date DATE [/desc DESCRIPTION] (Format for date DD-MM-YYYY) |
Event Delete | eventdelete /id INDEX |
Event Listing | eventlist |
Event Edit | eventedit /id INDEX [/date DATE /desc DESCRIPTION] (Format for date DD-MM-YYYY) |
Summary | summary |
View Help | help |
Exit | exit |