User Guide
- Overview
- About the User Guide
- Quick Start
-
Commands
- Add Command: Create a dog/owner/program
- Delete Command: Remove a dog/owner/program
- Edit Command: Modify the details of a dog/owner/program
- Enrol Command: Allows dog(s) to join program(s)
- Drop Command: Remove dog(s) from enrolled program(s)
- Schedule Command: See all the programs in a day
- List Command: Switch to viewing a particular type of entity
- Find Command: Search for entities by keywords
- View Command: See a specified entity and its related entities
- Help Command: Ask for help!
- Exit Command: Goodbye!
- FAQ
- Command Summary
- Glossary
Overview
Welcome to the Pawbook User Guide! In this section, you will be given a brief overview of what Pawbook is all about and what you can takeaway from this user guide. We will show you how to use Pawbook from a user’s perspective.
This user guide contains (but not limited to) a quick start guide, a features walkthrough and a command summary table for easy reference. In each feature or functionality, we further provide command formats and command examples to ensure that you can become proficient in using Pawbook.
Introduction
Dog school managers face multiple administrative issues, such as a large amount of data to handle and having multiple users accessing the data. On top of this, such operations are also time-sensitive as dog schools aim to provide excellent customer service after all. As more people own dogs or aspire to be dog owners, dog schools are experiencing a rise in popularity, which brings to light the heavy administrative issues they face. These problems can all be resolved by Pawbook, a targeted solution for all your dog school needs!
With Pawbook, you can add and delete owner and dog profiles alike, to easily keep track of dogs and their respective owners. Pawbook also allows the managing of the various canine-training programs to cater to your furry customers. As an extension, Pawbook also facilitates the enrolling and dropping of dogs from programs. We understand that as a successful business, there can be multiple programs running in the school every day. To deal with this, Pawbook condenses your hectic timetable and provides a user-friendly view of your schedule of the day for increased convenience.
Pawbook is a desktop application for dog school managers to facilitate their bookkeeping of puppies and dogs in the school, optimized for input via a Command Line Interface (CLI) which caters to fast-typers who prefer to use a keyboard. You can navigate the application with ease and execute instructions by typing text-based commands in the command box provided without ever having to reach for your mouse!
Pawbook also has the benefits of a Graphical User Interface (GUI) to provide you with a visually appealing view, thus bringing you the best user experience to complement.
Purpose
The aim of this user guide is to help novice familiarise themselves with Pawbook. It also aids more experienced users by providing a detailed explanation on the different features and components of Pawbook. This allows old and new users alike to easily learn and use the various features and functionalities provided by Pawbook.
About the User Guide
In this section, we will teach you everything you need to know to effectively use this user guide.
Contributors
This user guide is created by CS2103T-T10-Group1.
- Charles Lee Lin Ta
- John Alec Mendoza Branzuela
- Kou Yong Kang
- Lam Xuan Yi, Shaelyn
- Wei Yutong
- Zhang Anli
Navigating the User Guide
This user guide provides you with all the information you need to utilize Pawbook. We understand the pains of using a Command Line Interface (CLI) program and have bested our efforts into ensuring a very readable guide on how to use our program.
If you need help setting up Pawbook, you can go to the Quick Start section.
If you want to find out more about Pawbook’s features and commands, you can go to the Commands section.
If you need an overview regarding the usage of Pawbook’s commands, head on to the Command Summary section.
Here are some important syntax to take note of to facilitate your reading before continuing.
Symbol/Format | Meaning |
---|---|
Enter | Indicates the enter button on the user’s keyboard |
Markdown |
Example of what to type in the command textbox |
Bold | Note-worthy keywords |
Indicates an important tip that will enhance your user experience | |
Indicates something that the user should take caution of |
Syntax Format
Syntax | Meaning | Example | Explanation |
---|---|---|---|
lower_case/ |
Prefix |
n/ , p/ , t/
|
To be placed right before the actual parameter value, order does not matter. |
normal font | Command keyword | schedule |
- |
CAPS_WITH_UNDERSCORE | Compulsory parameter | delete dog DOG_ID |
delete dog are the command keywords, while DOG_ID is compulsory and any valid dog ID can be provided. |
[SQUARE BRACKETS] | Optional parameter | [t/TAG] | When adding a dog for example, the tags to be added are optional. |
Ellipsis | Repeatable parameters | [t/TAG]… | When adding a dog for example, multiple tags can be supplied and all will be recognized, unlike non-repeatable parameters which only the last occurrence of the paramter will be recognized. |
GUI Layout
In this section, you will be introduced to the layout of Pawbook’s Graphical User Interface (GUI). This will help you better understand what each component that you observe on-screen represents.
There are a total of two views that you can navigate to when using Pawbook:
Main Page View
You will be directed to the main page view upon launching Pawbook. On this page, you will first see the list of dogs that are currently stored in Pawbook.
Here is how the main page view looks like on launch:
Component | Purpose |
---|---|
Menu Bar | A menu bar that allows users to click on shortcuts |
Main Display | The main display that shows the results of each command |
Card Component | Each card component represents one entity profile (i.e. Dog, Owner, Program) |
Response Display | A display that shows the response message from Pawbook after a command has been executed |
Command Box | A text field for the user to enter his/her command |
Help Page View
The help page view provides a short summary list of commands that you can use, as well as a link to this user guide.
Quick Start
If this is your first time using Pawbook, follow these simple steps to jump straight into the action:
- Ensure you have Java 11 or above installed in your computer.
- Download the latest pawbook.jar here.
- Copy the pawbook.jar file to the folder you wish to use as the root directory for Pawbook (other configuration and data files will be stored in the same directory or subdirectories).
- Double-click the file to start the app. The GUI should appear shortly.
- Congratulations, you have successfully launched Pawbook! For new users, type
help
in the command box to launch the help page view. - Type the command in the command box and press Enter to execute it. e.g. typing
add
and pressing Enter will allow you to start adding information into Pawbook.
Ensure that the data/pawbook.json file is not corrupted or edited wrongly. If any part of the file is invalid or corrupted, Pawbook will not be able to restore the data from the previous session and will start fresh, writing over the same file when saving!
Commands
In this section, you will learn about the commands available in Pawbook and how to use them.
Add Command: Create a dog/owner/program
Function: Creates an entry for an entity (dog/owner/program) and adds to Pawbook.
Use case: When you want to create a new entry for a new customer or program, this is the right command! For instance, when a new dog arrives at the school with its owner, you will first need to add the owner followed by the dog.
Format:
add dog n/DOG_NAME b/BREED d/DATE_OF_BIRTH s/SEX o/OWNER_ID [t/TAG]...
add owner n/OWNER_NAME p/PHONE e/EMAIL a/ADDRESS [t/TAG]...
add program n/PROGRAM_NAME [s/SESSION_DATETIME]... [t/TAG]...
Note:
- Different prefixes should be used for the respective entities to specify details.
- Names are allowed to contain basic Latin letters, numerics, hyphens, commas, periods and apostrophes. This is catered for cases when a program name contains numbers and in some cases, even dog names and owner names. Extra punctuation are subjected to common usages.
- Pawbook supports arbitrary length phone numbers. This is to support phone numbers with differing lengths from different regions.
- Tags are optional and multiple tags can be added.
- Tags are only able to take in one alphanumeric string. To write tags with multiple words, consider using camelCase for combining multiple words.
- Date format used is dd-MM-yyyy, time format is HH:mm. For date and time of sessions, it will need therefore need to follow dd-MM-yyyy HH:mm.
Date time part | Code | Valid values |
---|---|---|
Date of month | dd | 01~31 |
Month | MM | 01~12 |
Year | yyyy | 0000~9999 |
Hours | HH | 00~23 |
Minutes | mm | 00~59 |
Examples:
-
Creates an owner named John with the details provided in Pawbook.
Command:add owner n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney
-
Creates a dog named BRUCE belonging to owner with ID 1 in Pawbook.
Command:add dog n/Bruce b/Chihuahua d/12-02-2019 s/Male o/1 t/playful t/active
-
Creates a program with program name Obedience Training.
Command:add program n/Obedience Training s/02-02-2020 18:00 t/puppies
Owners are considered to be the same if they share the same name and either the same phone or email.
Dogs are considered to be the same if they share the same name and the same owner.
Programs are considered to be the same if they share the same name.
To add a dog called Oreo, with breed Jack Russell Terrier, date of birth 20 August 2020, sex female, belonging to the owner with ID 1, tags shy and docile,
type add dog n/Oreo b/Jack Russell Terrier d/2-02-2020 s/Female o/1 t/shy t/docile
into the commmand box.
If successfully added, Pawbook will display a success message as shown here.
Delete Command: Remove a dog/owner/program
Function: Removes the entry for an entity (dog/owner/program) from Pawbook.
Use case: When you want to delete an entity, you can simply use the delete command and delete the entity that you want using its ID number. For instance, when a dog is no longer under your care, you can delete the dog’s profile using this command.
Format:
delete dog DOG_ID
delete owner OWNER_ID
delete program PROGRAM_ID
Note:
- The ID must be a positive integer 1, 2, 3 etc.
Examples:
-
Deletes the owner with ID 1 in Pawbook.
Command:delete owner 1
-
Deletes the dog with ID 2 in Pawbook.
Command:delete dog 2
-
Deletes the program with ID 3 in Pawbook.
Command:delete program 3
Requiring the type of entity you are deleting to be specified helps ensure that you do not accidentally delete the wrong entity and lose important customer data!
Deleting using ID instead of name? Yes, all commands other than
add
and find
uses the entity’s ID. When a new entity is added to Pawbook, the system assigns an unique ID to each of them.
The ID for all entities is displayed in the first line beside its name.
To delete dog 3 from Pawbook, type delete dog 3
into the command box.
If successfully deleted, Pawbook will display a success message as shown here.
Edit Command: Modify the details of a dog/owner/program
Function: Edits a dog/owner/program from Pawbook.
Use case: This command allows you to edit the attributes of the entity (dog/owner/program) in your Pawbook. Let’s say you just added an entry for a dog but you realized that you filled in one of its particulars wrongly. The edit command allows you to quickly correct that mistake. More details about each of the editable attributes can be found here.
Format:
edit dog DOG_ID [n/DOG_NAME] [b/BREED] [d/DATE_OF_BIRTH] [s/SEX] [o/OWNER_ID] [t/TAG]...
edit owner OWNER_ID [n/OWNER_NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]...
edit program PROGRAM_ID [n/PROGRAM_NAME] [s/SESSION_DATETIME]... [t/TAG]...
Note:
- The ID must be a positive integer 1, 2, 3 etc.
- Only include the attributes that need to be edited after the integer
- Multiple attributes can be edited at once
Examples:
-
Edits the owner with ID 1 in Pawbook.
Command:edit owner 1 p/12345678
-
Edits the dog with ID 2 in Pawbook.
Command:edit dog 2 n/Bruce t/playful
-
Edits the program with ID 3 in Pawbook.
Command:edit program 3 t/learn
The same restrictions from Add Command regarding identity of entities apply here.
Take note that editing sessions for programs and tags for any entity will automatically override all its current sessions/tags! To clear all sessions/tags, use “s/” and “t/” respectively without any values.
At least one attribute needs to be modified!
To edit the phone number of owner with ID 1 to 91234567, type owner ID p/91234567
into the command box.
If successfully edited, Pawbook will display a success message as shown here.
Enrol Command: Allows dog(s) to join program(s)
Function: Enrols a specified dog to a specified program that the dog was previously not enrolled in. Batch enrolment is also supported, which means that multiple dogs can be enrolled into the same program, or one dog can be enrolled into multiple programs.
Use case: When you want to enrol a dog into a specific program, you can use this command. One instance is when after a new dog Bruce has just joined the school and is applying for Obedience Training. You can then enrol Bruce into the Obedience Training program after you have added Bruce into the system.
Format:
enrol d/DOG_ID [d/DOG_ID]... p/PROGRAM_ID (enrolling multiple dogs into one program)
enrol d/DOG_ID p/PROGRAM_ID [p/PROGRAM_ID]... (enrolling one dog into multiple programs)
Note:
- The dogs and programs IDs must all be valid.
- Dog must not be enrolled in the program.
Examples:
-
Enrol dog with ID 2 into program with ID 3.
Command:enrol d/2 p/3
-
Enrol dogs with ID 2 and 3 into program with ID 4.
Command:enrol d/2 d/3 p/4
-
Enrol dog with ID 2 into programs with ID 3 and ID 4.
Command:enrol d/2 p/3 p/4
Take note that enrolling multiple dogs into multiple programs at once is NOT allowed as it is error-prone. For example,
enrol d/2 d/3 p/4 p/5
is NOT allowed!
To enrol dog 4 into program 13, type enrol d/4 p/13
into the command box.
Upon successful enrollment, Pawbook will display a success message as shown here.
Drop Command: Remove dog(s) from enrolled program(s)
Function: Removes a specified dog from a specified program that the dog was previously enrolled in. Batch removal is supported, which means that multiple dogs can be removed from the same program, or a single dog can be removed from multiple programs.
Use case: After a dog has finished a program or has dropped out of the program, you can remove him from the program using this command.
Format:
drop d/DOG_ID [d/DOG_ID]... p/PROGRAM_ID (removing multiple dogs from one program)
drop d/DOG_ID p/PROGRAM_ID [p/PROGRAM_ID]... (removing one dog from multiple programs)
Note:
- The dogs and programs IDs must all be valid.
- Dog must be enrolled in the program.
Examples:
-
Remove dog with ID 2 from program with ID 3.
Command:drop d/2 p/3
-
Drop dogs with ID 2 and 3 from program with ID 4.
Command:drop d/2 d/3 p/4
-
Drop dog with ID 2 from programs with ID 3 and 4.
Command:drop d/2 p/3 p/4
Take note that removing multiple dogs from multiple programs at once is NOT allowed! For example,
drop d/2 d/3 p/4 p/5
is NOT allowed!
To drop dog 4 from program 13, type drop d/4 p/13
into the command box.
Upon successful dropping, Pawbook will display a success message as shown here.
Schedule Command: See all the programs in a day
Function: Displays all programs happenings on the current day or any specified date.
Use case: As a busy dog school manager, this allows you to view the programs lined up on any specified date at a glance.
Format:
schedule [DATE]
Note:
- Date has to be specified in the
dd-MM-yyyy
format, details are explained here. - If no date is provided, the schedule command will display all programs occurring on the current day.
Examples:
- Display the schedule for today.
Command:schedule
- Display the schedule for 1st April 2021.
Command:schedule 01-04-2021
To view the schedule for 01-02-2021, type schedule 01-02-2021
into the command box.
If there is a schedule to be viewed, Pawbook will display a success message as shown here.
List Command: Switch to viewing a particular type of entity
Function: Displays entities filtered by type.
Use case: To see the three different types of entities (dog/owner/program), you can use this command. Let’s say you want to see all the dogs that you are in-charge of. Simply type list dog
and all the dogs in Pawbook will be displayed.
Format:
list dog
list owner
list program
Note:
- On Pawbook’s startup, all dogs are listed.
- List command supports plural forms of the entity words, as well as unlimited
's'
.
Examples:
- List all dogs.
Command:list dog
- List all owners.
Command:list owner
- List all programs.
Command:list program
To view all the programs in Pawbook, type list program
into the command box.
If there are programs to be viewed, Pawbook will display a success message as shown here.
Find Command: Search for entities by keywords
Function: Shows the list of entities with names that contain the keywords supplied.
Use case: When you forgot the ID of an entity (dog/owner/program) and want to find it by their name. You can also find multiple entities by providing multiple keywords. This may be helpful when you want to see just one specific entity profile.
Format:
find KEYWORD [MORE_KEYWORDS]...
Note:
- As long as a name contains one of the keywords, the corresponding entity will show up in the results.
Examples:
-
Find all entities with the name “Alice”.
Command:find alice
-
Find all entities with the name “Alice”, “Bob” or “Charlie”.
Command:find alice bob charlie
find
is able to take in multiple keywords and return all results as long as the name contains any one of the keywords.
find
is able to search for results based on substrings of keywords.
To find entities containing Berry
and Training
, type find berry training
into the command box.
If there are entities to be viewed, Pawbook will display a success message as shown here.
View Command: See a specified entity and its related entities
Function: Views the entity with the given ID together with all entities related to the specified entity.
Use case: When you want to have a more detailed view of a particular entity (dog/owner/program), you can use this command to see more details. The first entry at the top will be the profile of the entity you want to view. This is followed by the all its related entities. For instance, when you view Bruce the dog, you will first see the his profile, followed by his owner’s profile and finally all the programs that Bruce is enrolled in.
Format:
view ENTITY_ID
Examples:
-
View ID 1 which belongs to an owner, the owner and all his dogs will be displayed.
Command:view 1
-
View ID 2 which belongs to a dog, the dog and its owner will be displayed, followed by the programs that the dog is enrolled in.
Command:view 2
-
View ID 3 which belongs to a program, the program and all the enrolled dogs will be displayed.
Command:view 3
To view all entities related to entity with ID 4, type view 4
into the command box.
If there are entities to be viewed, Pawbook will display a success message as shown here.
Help Command: Ask for help!
Function: Shows the help page.
Use case: If you are unsure about how to use Pawbook, execute this help command to view a complete list of commands.
Format:
help
If you require help, type help
into the command box.
A command summary will appear, for more detailed information, click the Copy URL button to get the link to our user guide.
Exit Command: Goodbye!
Function: Exits Pawbook.
Use case: It’s the end of the day and you want to close Pawbook. Simply use this command to exit. The data will be automatically saved upon exit and will still be there the next time you reopen Pawbook.
Format:
exit
To exit Pawbook, type exit
into the command box.
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 Pawbook home folder.
Q: Where is my data saved?
A: They are stored in the data sub-folder where the Pawbook application can be found.
Q: How can I make backups of my data in Pawbook?
A: Copy and paste the data folder located in the Pawbook home folder to somewhere safe and
easy to remember. In order to restore the backup, copy the entire folder back into the same home folder and rewrite the existing folder.
Q: How do I delete all my data in Pawbook?
A: Delete the data folder in the Pawbook home folder.
Q: Will my data be compromised?
A: Fret not! All your data on Pawbook is stored in your local device and will not be transferred over the Internet.
Q: Does Pawbook require an internet connection to function?
A: Pawbook does not access any web services and can be run completely offline.
Command Summary
Action | Format |
---|---|
Add | 1. add dog n/DOG_NAME b/BREED d/DATE_OF_BIRTH s/SEX o/OWNER_ID [t/TAG]... 2. add owner n/OWNER_NAME p/PHONE e/EMAIL a/ADDRESS [t/TAG]... 3. add program n/PROGRAM_NAME [s/SESSION_DATETIME]... [t/TAG]...
|
Delete | 1. delete dog DOG_ID 2. delete owner OWNER_ID 3. delete program PROGRAM_ID
|
Drop | 1. drop d/DOG_ID [d/DOG_ID]... p/PROGRAM_ID 2. drop d/DOG_ID p/PROGRAM_ID [p/PROGRAM_ID]...
|
Edit | 1. edit dog DOG_ID [n/DOG_NAME] [b/BREED] [d/DATE_OF_BIRTH] [s/SEX] [o/OWNER_ID] [t/TAG]... 2. edit owner OWNER_ID [n/OWNER_NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]... 3. edit program PROGRAM_ID [n/PROGRAM_NAME] [s/SESSION_DATETIME]... [t/TAG]...
|
Enrol | 1. enrol d/DOG_ID [d/DOG_ID]... p/PROGRAM_ID 2. enrol d/DOG_ID p/PROGRAM_ID [p/PROGRAM_ID]...
|
Exit | exit |
Find | find KEYWORD [MORE_KEYWORDS]... |
Help | help |
List | 1. list dog 2. list owner 3. list program
|
Schedule | schedule [DATE] |
View | view ENTITY_ID |
Glossary
Term | Explanation |
---|---|
CLI | Short for Command Line Interface. CLI-based applications are primarily used through processing text commands. |
GUI | Short for Graphical User Interface. GUIs work as the tangible user interface between program and user. Users interact with Pawbook through the GUI on their devices. |
Entity | Refers to either an owner, a dog or a program. |
Camel Case | Refers to a style of writing without spaces and indicating the separation of words using a single capitalized letter. |