By: AY1920S1-CS2103T-F13-1
Since: Sep 2019
Licence: MIT
- 1. Introduction
- 2. Legend
- 3. Quick Start
- 4. Features
- 4.1. Using Normal Mode
- 4.1.1. Viewing help :
help
- 4.1.2. Locating books by title:
find
- 4.1.3. Viewing a book:
info
- 4.1.4. Clearing all entries :
clear
- 4.1.5. Adding a book:
add
- 4.1.6. Deleting a book :
delete
- 4.1.7. Registering a new borrower:
register
- 4.1.8. Unregistering a borrower:
unregister
- 4.1.9. Undoing:
undo
- 4.1.10. Redoing: redo
- 4.1.11. Set User Settings:
set
- 4.1.12. Exiting the program :
exit
- 4.1.13. Toggling night mode:
toggleui
- Coming in v2.0 - 4.1.14. Rate a book :
rate
- Coming in v2.0
- 4.1.1. Viewing help :
- 4.2. Using Serve Mode
- 4.3. Saving the Data
- 4.1. Using Normal Mode
- 5. FAQ
- 6. Command Summary
LiBerry is a desktop app for librarians to quickly manage their community libraries! LiBerry is optimized for librarians who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). You can type quickly and serve your long line of borrowers in a short amount of time.
LiBerry can manage all your books and borrowers efficiently and meticulously. You can easily add new books to your library records, register new borrowers, loan out books, track outstanding fines and more!
This user guide will introduce to you the different features of LiBerry and how to use them! Jump to Section 3, “Quick Start” to get started now! Enjoy!
Dive into LiBerry with our simple set-up guide a quick tour of our user interface and features!
-
Ensure you have Java
11
or above installed in your Computer. -
Download the latest
LiBerry.jar
here. -
Copy the file to the folder you want to use as the home folder for your LiBerry.
-
Double-click the file to start the app. The GUI should appear in a few seconds.
-
Type the command in the command box and press Enter to execute it.
e.g. typinghelp
and pressing Enter will open the help window. -
Here are some commands you can try out:
-
Add a new book to LiBerry by using
add t/Animal Farm a/George Orwell
-
Register a new borrower to LiBerry by using
register n/John Smith p/97875454 e/[email protected]
-
-
Refer to Section 4, “Features” for details of each command.
This section contains a detailed guide to every feature LiBerry supports, including how to use and the format of the commands to use the feature. The following table shows the format used to describe each command.
Command Format
-
Words in
UPPER_CASE
are the parameters to be supplied by the user e.g. infind t/TITLE
,BOOK_TITLE
is a parameter which can be used asfind t/Harry Potter
. -
Items in square brackets are optional e.g.
t/TITLE [g/GENRE]
can be used ast/Harry Potter g/fiction
or ast/Harry Potter
. -
Curly brackets indicate that at least 1 of the optional parameters have to be given, e.g.
{ [t/TITLE] [a/AUTHOR] }
can be used ast/Harry Potter
-
Items with
…
after them can be used multiple times including zero times, e.g.[g/GENRE]…
can be used asg/fiction
,g/fiction g/adventure
etc. -
Parameters can be in any order e.g. if the command specifies
t/TITLE a/AUTHOR
,a/AUTHOR t/TITLE
is also acceptable.
The Normal Mode is for librarians to manage the books in the library. Commands in normal mode are not specific to any borrowers. The Normal Mode also provides some utility commands to help the librarian use LiBerry. Commands that are specific to Serve Mode cannot be used while in Normal Mode.
Opens the help window, which includes a list of possible commands.
Format: help
Shows all relevant books found.
Format: find [NUMBER] { [t/TITLE] [a/AUTHOR] [g/GENRE]… [sn/BOOK_SN] [-overdue] [-loaned] [-available] }
Format: find [NUMBER] { [t/TITLE] [a/AUTHOR] [g/GENRE]… [sn/BOOK_SN] [-overdue] [-loaned] [-available] [-rated] [-popular] [-new] }
- Coming in v2.0
-
The search is case insensitive. e.g
harry
will matchHarry
-
Partial words will also be matched e.g.
Har
will matchHarry
-
Books matching at least one keyword will be returned (i.e.
OR
search). e.g.harry
will return bothHarry Potter
andHarry Botter
-
[NUMBER]
will list thisNUMBER
of books instead -
[t/TITLE]
will be used to search through book titles -
[a/AUTHOR]
will be used to search through or filter by authors -
[g/GENRE]
will be used to search through or filter by genre -
[sn/BOOK_SN]
will be used to search through book serial numbers -
Only 1 of the following 3 flags can be used
-
[-overdue]
will only show overdue books -
[-loaned]
will only show loaned books -
[-available]
will only show available books -
Adding one of the following will sort the books such that:
-
[-rated]
will list the top 10 highly rated books - Coming in v2.0 -
[-popular]
will list the top 10 most borrowed books - Coming in v2.0 -
[-new]
will list the 10 newest books - Coming in v2.0
Examples:
-
find t/Animal Farm a/George Orwell
Searches for the book titled “Animal Farm” by the author “George Orwell”. -
find 3 g/mystery g/children -available
Searches for children mystery books that are not on loan and show the first 3 entries.
Views more information about a book in the results list.
Format: info INDEX
Clears the most recent search and displays all books.
Format: clear
Adds a new book to library records.
Format: add t/TITLE a/AUTHOR [sn/BOOK_SN] [g/GENRE]…
💡
|
A book can have any number of genres (including 0). |
💡
|
You do not need to specify the serial number if you wish so. LiBerry will then auto-generate a valid serial number for the new book. |
Examples:
-
add t/Harry Botter a/Raylei Jolking sn/B02010 g/children
Adds a children book titled "Harry Botter" by "Raylei Jolking", with the serial number "B02010", to LiBerry. -
add t/Inferno a/Tande g/classic g/epic
Adds a book titled "Inferno" by "Tande", with the genres "classic" and "epic" to LiBerry. The serial number for this book will be automatically generated.
Deletes a book from the library records. Used when book is lost or trashed.
Format: delete INDEX
or delete sn/BOOK_SN
-
Deletes the book at the specified
INDEX
. -
The index refers to the index number shown in the displayed book list.
-
The index must be a positive integer 1, 2, 3, …
-
INDEX
will delete the book with the book at this index in the results list -
sn/BOOK_SN
will delete the book with this serial number
Examples:
-
find t/harry
delete 1
Deletes the 1st book in the results of thefind
command. -
delete sn/B00422
Deletes the book with serial numbersn/B00422
.
Registers a new borrower to the library records. A unique ID associated with the borrower will automatically be generated and displayed. Borrowers are expected to know his ID in order for loans to be processed.
Format: register n/NAME p/PHONE_NUMBER e/EMAIL
Example:
-
register n/matt p/83938249 e/[email protected]
Registers a new borrower called "matt", with phone number "83938249" and email "[email protected]" to LiBerry.
Unregisters and removes a borrower with the given borrower ID from the library records.
Format: unregister id/BORROWER_ID
Example:
-
unregister id/K0001
Deletes the borrower with the borrower IDid/K0001
Redoes the most recent undo should there be no more commands/actions after the most recent undo.
Format: redo
Sets the user settings for loan period (in days), renew period (in days), fine increment (in cents) and maximum renews allowed.
Format: set { [lp/LOAN_PERIOD] [rp/RENEW_PERIOD] [fi/FINE_INCREMENT] [mr/MAX_RENEWS] }
Examples:
-
set lp/30 rp/10
Sets the loan period to 30 days and renew period to 10 days. -
set rp/10 fi/5 lp/10 mr/2
Sets the renew period to 10 days, fine increment to 5 cents per day, loan period to 10 days and maximum renews allowed to 2.
Toggles between day mode and night mode for the UI.
Format: toggleui
The Serve Mode is for librarians to serve borrowers. All commands in Serve Mode are done on a specific borrower currently served by the librarian. All commands in Normal Mode can be used in Serve Mode too.
Enters Serve Mode. All commands/actions will be done on this specific borrower. A list of the borrower’s currently loaned books and their serial numbers will be displayed.
Format: serve id/BORROWER_ID
Example:
-
serve id/K0001
Enters save mode to serve a borrower with the IDK0001
Edit borrower’s particulars.
Format: edit { [n/NAME] [p/PHONE_NUMBER] [e/email] }
-
Edits the currently serving borrower’s particulars.
-
At least one of the optional fields must be provided.
-
Existing values will be updated to the input values.
Examples:
-
edit p/91234567 e/[email protected]
Edits the phone number and borrower’s email address to be91234567
and[email protected]
respectively. -
edit n/Betsy Crower
Edits the name of the borrower to beBetsy Crower
.
Loan book(s) by their serial number.
Format: loan sn/BOOK_SN
Format: loan sn/BOOK_SN [sn/BOOK_SN]…
- Coming in v2.0
Examples:
-
loan sn/B00041
Loans the book with serial number B00041 to the currently served borrower. -
loan sn/B00201 sn/B02929 sn/B00203
- Coming in v2.0
Loans the books with serial numbers B00201, B02929 and B00203 to the currently served borrower.
After loaning all books, upon the DONE
command, a printable loan slip in pdf format will be generated.
Return book(s) that were loaned by the borrower.
Format: return INDEX
Format: return INDEX
or return -all
- Coming in v2.0
Including -all
will return all currently loaned books.
-
Returns the book at the specified
INDEX
in the borrower panel or all of the currently served borrower’s loaned out books. -
The index refers to the index number shown in the borrower’s book list.
-
The index must be a positive integer 1, 2, 3, …
-
INDEX
indicates the book at this index in the borrower’s book list. -
-all
indicates all the books currently loaned out by the borrower.
Renew book(s) from the list of currently loaned books, i.e., extend their due dates.
Format: return INDEX
Format: renew INDEX
or renew -all
- Coming in v2.0
-
Renews the book at the specified
INDEX
in the borrower panel or all of the currently served borrower’s loaned out books that can still be renewed. -
The index refers to the index number shown in the borrower’s book list.
-
The index must be a positive integer 1, 2, 3, …
-
INDEX
indicates the book at this index in the borrower’s book list. -
-all
indicates all the books currently loaned out by the borrower that still can be renewed.
Reduces the outstanding amount of borrower’s fines by AMOUNT (in dollars).
Format: pay $AMOUNT
Reserve a particular book
Format: reserve INDEX
or reserve sn/BOOK_SN
-
Reserves the book at the specified
INDEX
or the book with the specified serial numberBOOK_SN
for the currently served borrower. -
The index refers to the index number shown in the displayed book list.
-
The index must be a positive integer 1, 2, 3, …
-
INDEX
indicates the book at this index in the search results list -
sn/BOOK_SN
indicates the particular book with this serial number
Examples:
-
reserve 2
Reserves the 2nd book in the results of thefind
command for the currently served borrower. -
reserve sn/B02422
Reserves the book with serial numbersn/B02422
for the currently served borrower.
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous LiBerry folder.
This section contains the summary of LiBerry’s commands.
Commands applicable to both Normal and Serve mode:
-
Help :
help
-
Find a book :
find [NUMBER] { [t/TITLE] [a/AUTHOR] [g/GENRE]… [sn/BOOK_SN]] [-overdue] [-loaned] [-available] }
e.g.find t/Animal Farm a/George Orwell
,find 3 g/mystery g/children -available
[-rated] [-popular] [-new]
- Coming in v2.0 -
View book info :
info INDEX
-
Clear results :
clear
-
Add a book :
add t/TITLE a/AUTHOR sn/BOOK_SN [g/GENRE]… `
e.g. `add t/Harry Botter and the Baby’s Potty a/Reali Jolking sn/B02010 g/children -
Delete a book :
delete INDEX
ordelete sn/BOOK_SN
-
Register a borrower :
register n/NAME p/PHONE_NUMBER e/EMAIL
e.g.register n/matt p/83938249 e/[email protected]
-
Unregister a borrower :
unregister id/BORROWER_ID
-
Undo :
undo
-
Redo :
redo
-
Set user settings:
set { [lp/LOAN_PERIOD] [rp/RENEW_PERIOD] [fi/FINE_INCREMENT] }
-
Exit :
exit
-
Toggle night mode:
toggleui
- Coming in v2.0 -
Rate a book :
rate INDEX r/RATING
- Coming in v2.0
Commands applicable to Serve mode only:
-
Serve mode :
serve id/BORROWER_ID
e.g.serve id/K0001
-
Exit serve mode :
done
-
Edit a borrower’s particulars :
edit { [n/NAME] [p/PHONE_NUMBER] [e/email] }
e.g.edit p/91234567 e/[email protected]
-
Loan book :
loan sn/BOOK_SN
e.g.loan sn/B00201
-
Return book(s) :
return INDEX
orreturn -all
-
Renew book(s) :
renew INDEX
orrenew -all
-
Pay fines :
pay $AMOUNT
-
Reserve book :
reserve INDEX
orreserve sn/BOOK_SN
- Coming in v2.0