Skip to content

Latest commit

 

History

History
404 lines (295 loc) · 14.6 KB

UserGuide.adoc

File metadata and controls

404 lines (295 loc) · 14.6 KB

LiBerry - User Guide

1. Introduction

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!

2. Legend

💡
Denotes useful tips.

3. Quick Start

Dive into LiBerry with our simple set-up guide a quick tour of our user interface and features!

  1. Ensure you have Java 11 or above installed in your Computer.

  2. Download the latest LiBerry.jar here.

  3. Copy the file to the folder you want to use as the home folder for your LiBerry.

  4. Double-click the file to start the app. The GUI should appear in a few seconds.

    Ui
    Figure 1. LiBerry’s User Interface
  5. Type the command in the command box and press Enter to execute it.
    e.g. typing help and pressing Enter will open the help window.

  6. Here are some commands you can try out:

    1. Add a new book to LiBerry by using add t/Animal Farm a/George Orwell

    2. Register a new borrower to LiBerry by using register n/John Smith p/97875454 e/[email protected]

  7. Refer to Section 4, “Features” for details of each command.

4. Features

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. in find t/TITLE, BOOK_TITLE is a parameter which can be used as find t/Harry Potter.

  • Items in square brackets are optional e.g. t/TITLE [g/GENRE] can be used as t/Harry Potter g/fiction or as t/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 as t/Harry Potter

  • Items with …​​ after them can be used multiple times including zero times, e.g. [g/GENRE]…​ can be used as   (i.e. 0 times), g/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.

4.1. Using Normal Mode

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.

4.1.1. Viewing help : help

Opens the help window, which includes a list of possible commands.
Format: help

4.1.2. Locating books by title: find

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 match Harry

  • Partial words will also be matched e.g. Har will match Harry

  • Books matching at least one keyword will be returned (i.e. OR search). e.g. harry will return both Harry Potter and Harry Botter

  • [NUMBER] will list this NUMBER 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.

4.1.3. Viewing a book: info

Views more information about a book in the results list.
Format: info INDEX

4.1.4. Clearing all entries : clear

Clears the most recent search and displays all books.
Format: clear

4.1.5. Adding a book: add

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.

4.1.6. Deleting a book : delete

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 the find command.

  • delete sn/B00422
    Deletes the book with serial number sn/B00422.

4.1.7. Registering a new borrower: register

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:

4.1.8. Unregistering a borrower: unregister

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 ID id/K0001

4.1.9. Undoing: undo

Undoes the previous command/action.
Format: undo

4.1.10. Redoing: redo

Redoes the most recent undo should there be no more commands/actions after the most recent undo.
Format: redo

4.1.11. Set User Settings: set

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.

4.1.12. Exiting the program : exit

Exits the program.
Format: exit

4.1.13. Toggling night mode: toggleui - Coming in v2.0

Toggles between day mode and night mode for the UI.
Format: toggleui

4.1.14. Rate a book : rate - Coming in v2.0

Gives a book a numerical rating.
Format: rate INDEX r/RATING


4.2. Using Serve Mode

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.


4.2.1. Entering Serve Mode: serve

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 ID K0001

4.2.2. Exiting Serve Mode: done

Exits Serve Mode.
Format: done

4.2.3. Editing a borrower: edit

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 be 91234567 and [email protected] respectively.

  • edit n/Betsy Crower
    Edits the name of the borrower to be Betsy Crower.

4.2.4. Loaning book(s): loan

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.

LoanSlip
Figure 2. Printable loan slip generated.

4.2.5. Returning book(s): return

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.

4.2.6. Renewing book(s): renew

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.

4.2.7. Paying fines: pay

Reduces the outstanding amount of borrower’s fines by AMOUNT (in dollars).
Format: pay $AMOUNT

4.2.8. Reserve a book: reserve - Coming in v2.0

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 number BOOK_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 the find command for the currently served borrower.

  • reserve sn/B02422
    Reserves the book with serial number sn/B02422 for the currently served borrower.


4.3. Saving the Data

LiBerry data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.

5. FAQ

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.

6. Command Summary

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 or delete 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 or return -all

  • Renew book(s) : renew INDEX or renew -all

  • Pay fines : pay $AMOUNT

  • Reserve book : reserve INDEX or reserve sn/BOOK_SN - Coming in v2.0