User Guide
Table Of Contents
-
4.1 Understanding the Graphical User Interface
4.2 What is a bug?
-
5.3 Searching for bugs:
search
5.8 Editing a tag of a bug:
editTag
5.9 Adding a tag to a bug :
addTag
5.10 Moving a bug :
move
5.12 Exiting the program :
exit
5.13 Saving the data
1. Introduction
Are you struggling to find an effective way to keep track of and manage the bugs you encounter while programming?
Perhaps you’re still relying on the archaic method of pen and paper? Or you cannot wrap your head around the unnecessarily complex features of existing bug trackers?
Do you desire an offline solution that is easy to use yet powerful enough to solve all your bug management problems? Look no further because we have the perfect product for you.
Introducing KanBug Tracker, a revolutionary bug management application!
Let’s look at some ways that KanBug Tracker can benefit you:
- Bug Management: Store and organise all the bugs you encounter while programming with a few simple commands.
- Visualisation: Our intuitive layout is designed to give you a high-level overview of your bug fixing progress, giving you the ability to plan your approach like never before.
- Incredible Portability: The application lives entirely on your computer and does not require an internet connection, allowing you to manage your bugs wherever you are.
- Powerful features: Take your bug tracking efforts to the next level with features that will allow you to search for bugs and move them between states.
- Performance: KanBug Tracker is powered by a slick Command Line Interface (CLI) designed to maximise your productivity with its high responsiveness.
As you can see, KanBug Tracker was designed with developers like you in mind, with powerful features that help you stay on top of your bug fixing process. Never again will you have to struggle with your bug management!
2. How do I use this User Guide?
The team here at KanBug Tracker has broken down this User Guide into easy to understand sections that will help to answer any questions you have pertaining to our application.
Before continuing, it would be good to familiarise yourself with a few symbols that you will encounter in this User Guide:
Now you’re all set to get started! But where should you begin?
- If you are a first-time user, start here by learning how to download and set up KanBug Tracker.
- If you are confused about the various parts of KanBug Tracker (Graphical user interface, what is a bug, etc.), you can learn about them here.
- If you are interested to learn about the different exciting features KanBug Tracker has, check out the Features section here.
- If you are already familiar with KanBug Tracker but have some trouble remembering the command format, take a look at the Command Summary section here.
3. Getting Started
-
Ensure that you have
Java 11
or above installed on your computer. If you do not have a suitable version ofJava
installed on your computer, you may head here to download the installer for your operating system. -
Download the latest
KanBugTracker.jar
from our GitHub -
Copy the
KanBugTracker.jar
file to a folder you want to use as your root folder.Note: In this instance, Home Folder acts as our root folder. Users are free to name their root folder however they wish.
-
Double-click on the
KanBugTracker.jar
file to launch the application. You should see something similar. -
Now that you’re all set up, you’re ready to take your bug management to the next level!
You can start getting familiar with the various commands that KanBug Tracker has to offer.
4. Understanding KanBug Tracker
We’re sure that you’re excited to start using KanBug Tracker! Before that however, there are some terms and parts of the application that you need to be familiar with to make the best out of your KanBug Tracker experience.
We have divided this section into three. The first subsection introduces the various aspects of KanBug Tracker’s Graphical User Interface (GUI). The second subsection explains what a bug is and explains its various parts. The third subsection focuses on how the user interacts with the application and introduces some key ideas that users need to know.
4.1 Understanding the Graphical User Interface
KanBug Tracker provides two different views that the user can switch between. The first is the traditional Kanban board style view which aims to allow users to get a high-level overview of the state of bugs in their project. The second view is the List view which allows users to focus only on the bugs within a particular section of the KanBug Tracker.
Kanban View (default):
- Command Line Interface for users to enter their commands
- Display that the application uses to give feedback on commands to the user
- Each individual bug will be displayed with the following data listed in order of display from top to bottom:
- Name of bug
- Priority of bug
- Short description of bug
- Relevant tags
- Four of pre-declared states that KanBug Tracker comes with. Each bug will be assigned to one of the four states to aid users in tracking the life cycle of each bug.
List View:
- Command Line Interface for users to enter their commands
- Display that the application uses to give feedback on commands to the user
- Scroll bar to navigate up and down the bug list
- Each individual bug will be displayed with the following data listed in order of display from top to bottom and left to right:
- Name of bug
- Priority of bug
- State of bug
- Short description of bug
- Relevant tags
- Note containing extra information about the bug
4.2 What is a bug?
By now, you’ve probably seen the word bug a lot. But what exactly is a bug and what are the various parts of it you have to know? Let’s take a look and find out.
1 - Bug Name
You get to choose what you want to name each bug you enter into the KanBug Tracker. No two bugs can have the same name.
2 - Priority
When adding bugs to the KanBug Tracker, you can include a priority level for the bug. Priority levels help give you an indication of how urgently a particular bug has to be fixed.
You choose from three pre-defined priority levels:
- LOW
- MEDIUM
- HIGH
3 - State
Bugs in the KanBug Tracker can have one of four pre-defined states. States help you track which part of the bug’s lifecycle a particular bug is in.
The four available states are:
- Backlog - Bugs you have discovered but do not have the time to work on yet.
- Todo - Bugs you intend to work on next.
- Ongoing - Bugs you are currently working on.
- Done - Bugs that have been resolved.
4 - Description
A short description detailing some key parts of the bug. Useful in helping you remember what the bug is about at a glance.
5 - Tag
Multiple user-defined tags can be attached to each bug. Tags aid in helping you draw connections between multiple bugs. For instance, two bugs with the same tag Ui indicates that both bugs are related to the user-interface.
6 - Notes
Notes are longer versions of descriptions. They are meant to provide more depth and can be used to log key pieces of information about the bug.
4.3 What are commands?
Commands are how you interact with the KanBug Tracker. The various commands will be covered in detail in the next section. However, there are some key parts of commands that you should take note of!
Columns
You may notice that some commands require you to provide the column that the bug is in. Don’t fret, columns in the Kanban View simply refer to the state of a particular bug.
• List view: You should not supply
COLUMN
. The bug at the specified INDEX
is deleted. The index refers to the index number shown in the displayed list of bugs.• Kanban view: Remember to supply
COLUMN
when using this view! The bug you have chosen at INDEX
in the chosen column is deleted.Example:
The highlighted bug is deleted when command
delete 1
is executed in List View.The highlighted bug is deleted when command
delete 1 c/backlog
is executed in Kanban View.Index
The index of a bug is the position of that bug in the list.
Prefixes
Some commands require the use of prefixes to indicate user input. Every command will have its own specific format so do pay close attention to the command’s requirements!
edit 1 n/@wrong format n/firstname n/secondname
will result in the name of Bug 1 being edited to secondname.
d/t/Location v/not a prefix
will result in the description field of the Bug being set to t/Location v/not a prefix
because neither “t/” nor “v/” is considered a prefix.
5. Features
- Words in
UPPER_CASE
are parameters to be supplied by the user - Items in
[...]
are optional - Items in
(...)
are only required in Kanban view and should not be supplied in List view -
INDEX
must be a positive integer 1,2,3…
edit 1 d/column c/todo
in List view will not result in the description field of the Bug being set to column c/todo
but will result in an error because “c/” is considered as a prefix which should not be supplied in List view.
5.1 Switching Views : switch
(by Rishabh)
Want to get a high level overview of the bugs in your program or focus only on a particular column? Just switch views!
Format: switch
- Switches between Kanban view and List view
Example: Want to jump into List view after launching the app? Do this:
Just type switch
and hit Enter
This switches you from the original Kanban view to the List view!
5.2 Viewing help : help
(by Rishabh)
Not sure what you can do next? Don’t worry, just ask for help.
Format: help
- Gets all commands’ format and the link to this User Guide.
Example: Stuck? Or just forgot what the commands are? Don’t worry just do this:
Just type help
and hit Enter
This creates a popup (the Help Window) with a command guide that you can refer to.
F1
key to open the Help window. Try it!
5.3 Searching for bugs : search
(by Duy)
When there are a lot of bugs in the tracker, you might want to look for a particular one, search
command is here to help you with that!
Format: search q/QUERYSTRING
QUERYSTRING
is? QUERYSTRING
refers to your keyword input (that can be one word or multiple words) to find matches when the search
command is executed.
- This command sorts out bugs based on your given
QUERYSTRING
. The tracker returns all the bugs that contain theQUERYSTRING
as either the name, description or tag.
QUERYSTRING
that you type in is case-insensitive. If you accidentally type in more than one q/
prefix, only the last one will be used to filter the list. The format of search
command in both Kanban view and List view is the same.
QUERYSTRING
), you will see an error reminding you that the Kanbug Tracker will not accept it.
Example:
Suppose you want to look for bugs in the tracker that match the term command
. Firstly, you type in the command box as follows:
Once the command has been entered, the result display will show the total number of relevant items and the KanBug Tracker will display all these bugs as a list in each state.
If either the name, description or tag of a bug contains the QUERYSTRING
, it will be included in the resulting list after the command has been executed.
5.4 Listing all bugs : list
(by Rishabh)
After running the search command you might want to see all the bugs you have in your KanBug Tracker at one glance. Thats where list
can be used.
Format: list
- Shows all the bugs in your KanBug Tracker
Example: Lets say you have just completed a search for bugs related to Parser
using the command search q/Parser
and now you want to view all your bugs again. Just do this:
Just type list
and hit Enter
The result display will then indicate the result of your command, and the KanBug Tracker will display all your bugs.
5.5 Adding a bug : add
(by Roger)
Noticed a bug while coding? The add command is here to help keep track of the bug for future reference.
Format: add n/NAME d/DESCRIPTION [s/STATE] [note/NOTE] [t/TAG] [pr/PRIORITY]
- Add a bug with the specified name, description and state to the bottom of the list.
- The state, note and tag fields are optional, all other fields are needed.
- If state is not specified, a default state of backlog will be assigned.
- The command will fail if a bug with the same name already exists.
Examples:
Suppose you encounter a bug that is not too urgent at the moment, it would be a good idea to put the bug in the backlog with a priority of low.
You can type add n/Ui bug d/Homepage not loading properly s/backlog pr/low
and press Enter
.
Once the command has been entered, the result display shows the result of your command and KanBug Tracker adds the bug to the bottom of the list.
A word of caution
c/COLUMN
when in Kanban View. The c/COLUMN
should not be used when in List View. If you are unsure about what this means, an explanation on columns and how to navigate commands in Kanban view was provided here.
Additionally, most walkthroughs will only be given for command usage in List View as the only difference in Kanban View is the need to supply
c/COLUMN
.5.6 Deleting a bug : delete
(by Roger)
After a bug is fixed and a project is done, its time to remove the bug from the tracker.
Format: delete INDEX (c/COLUMN)
- Deletes the bug at the specified index
Example: Suppose you fixed a bug and want to clear some space. This is how you can do it:
Just type delete 3
and press Enter
.
Once the command has been entered, the result display shows the result of your command and KanBug Tracker will remove the bug at the specified index.
5.7 Editing a bug : edit
(by Rishabh)
Made a mistake when adding in a bug or simply changed your mind on what the description should be? Fret not, that’s what the edit command is for.
Format: edit INDEX (c/COLUMN) [n/NEW_NAME] [d/NEW_DESCRIPTION] [s/NEW_STATE] [note/NEW_NOTE] [t/NEW_TAG] [pr/NEW_PRIORITY]
- Edits the specified bug.
- At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
- Multiple tags can be added or edited.
- The command will fail if the operation results in duplicated bugs (bugs with the same name).
Note
, Tags
and Priority
from a bug simply type the prefix without providing anything after,
e.g. edit 1 pr/
will remove the assigned priority of the Bug if there is one present.
Example: If the Bug at index 1 has tags
Ui
and List
and we execute edit 1 t/Edit
, the Bug will then have just 1 tag named Edit
.
Examples:
Example 1: Suppose you incorrectly named a bug and provided it with an inaccurate description as well as priority and want to change the name of the bug to Wrong list numbers when displaying list, the description to List column printed as all 1’s and priority to HIGH:
You can type edit 6 n/Wrong list numbers when displaying list d/List column printed as all 1's pr/high
and press Enter
.
Once the command has been entered, the result display shows the result of your command and the KanBug Tracker has updated the name, description as well as priority.
Example 2 (No walkthrough provided) : Perhaps then you tried a way to fix it that didn’t work so you want to add a note
of Tried a fix using iterator, did not work.
Type edit 6 note/Tried a fix using iterator, did not work
as input and press Enter
.
Example 3 (No walkthrough provided) : After toiling away at the bug, you realise that you have solved it! So now you want to remove the priority
of the Bug.
Type edit 6 pr/
as input and press Enter
.
5.8 Editing a tag of a bug : editTag
(by Kishen)
Made a mistake when adding tags to your bug? With this command, you can easily make amends without having to recreate the bug again!
edit
command. Using the edit
command would require you to retype every single existing tag on top of the tag you want to edit. With the editTag
command, you only need to concern yourself with the tag you want to edit!
Format: editTag INDEX (c/COLUMN) ot/OLD_TAG nt/NEW_TAG
- The
OLD_TAG
supplied must be an existing tag. - The
NEW_TAG
supplied must not be an existing tag. - The
OLD_TAG
will be updated to theNEW_TAG
Examples:
Example 1:
You’ve made a mistake when creating the bug at index 1 of the list and you wish to edit its tag. The tag should be UserDisplay instead of UI.
Since you want to edit the tag of the first bug from UI to UserDisplay, you can enter the command:
editTag 1 ot/UI nt/UserDisplay
The UI tag of the bug at index 1 is edited and is now UserDisplay. The display at the bottom of the screen confirms that the command has been executed successfully.
Example 2 (No walkthrough provided) :
You are in Kanban View and want to edit the CommandResult tag of the bug at index 1 of the backlog column to CommandParser.
You would enter the following command:
editTag 1 c/backlog ot/CommandResult nt/CommandParser
c/COLUMN
value.
5.9 Adding a tag to a bug : addTag
(by Kishen)
Oh no! You’ve forgotten to add a tag to one of your bugs! Or perhaps you want to add a new one? With this command, adding tags has never been simpler!
edit
command. Using the edit
command would require you to retype every single existing tag on top of the tags you want to add. With the addTag
command, you only need to concern yourself with the tags you want to add!
Format: addTag INDEX (c/COLUMN) nt/NEW_TAG
-
The
NEW_TAG
supplied must not be an existing tag. -
The
NEW_TAG
will be added to the bug. -
Users can add multiple tags by supplying multiple instances of
nt/NEW_TAG
.
addTag 1 nt/UiError nt/UiError
Will result in the tag UiError only being added to the bug once.
Examples:
Example 1:
You’ve decided that you want to add two new tags, JavaFx and switch to the bug at index 1 of the list.
Since you want to add two tags, JavaFX and switch, to the bug at index 1, you can enter the command:
addTag 1 nt/JavaFX nt/switch
Two new tags, JavaFX and switch have now been added to the bug at index 1. The display at the bottom of the screen confirms that the command has been executed successfully.
Example 2 (No walkthrough provided) :
You are in Kanban View and want to add the tag CommandParser to the bug at index 1 of the backlog column.
You would enter the following command:
addTag 1 c/backlog nt/CommandParser
c/COLUMN
value.
5.10 Moving a bug : move
(by Phong)
Whether you begin to work on a bug, finish fixing one or plan to solve it later, you can use move
to update your
progress on dealing with that bug.
Format: move INDEX (c/COLUMN) s/STATE
- Specifically, this command will change the state of the bug.
- The
STATE
is mandatory. - State can only be backlog, todo, ongoing or done (case-insensitive).
- If the
STATE
is the same as the initial state of the bug, no change will be made. - The
INDEX
must refer to an existing bug (e.g. we cannot move the fifth bug in the List view if there are only four bugs).
Examples:
Example 1:
You are in Kanban View and you want to move the second bug in the Backlog
column to the Ongoing
column. This
is how you can do it:
Since the bug is originally in the Backlog
column, you must supply c/backlog
. Since you want to move it
to the Ongoing
column, you must supply s/ongoing
. This is the first bug in the column so you must
supply the index 1
. In short, the command you must execute is move 1 c/backlog s/ongoing
.
Here the bug has successfully been moved into the new column. The display at the bottom of the screen confirms that the command has been successfully executed.
Example 2 (No walkthrough provided) :
You are in List View and want to move the second bug in your list to the done
state (assuming its previous state is not done
).
You would enter the following command: move 2 s/done
5.11 Clearing all bugs : clear
(by Duy)
Imagine the project you just finished ends up with hundreds of bugs recorded in the tracker and you want to move onto the next project. Don’t worry! The clear
command is here to help you to clear all your bugs to reinitialize the KanBug Tracker.
Format: clear
Example:
After the project is done, you might want to clear all the bug records that are not relevant anymore. First, you type this into the command box:
Once the command has been entered, all the bugs are immediately deleted and the result display shows a successful message as follows:
5.12 Exiting the program : exit
(by Phong)
When you are done with managing your tasks, use this command to save all your bugs and exit the KanBug Tracker.
Format: exit
- This command is applicable to both Kanban and List views.
Esc
key to close the KanBug Tracker. Try it!
5.13 Saving the data :
(by Phong)
The app data is automatically saved at ./data/kanbugtracker.json
every time a change is made. You could also directly
make changes to that file, but it may cause the data file to be unreadable so we do not recommend you to do this.
Instead, use the KanBug Tracker itself so it can guide you along the way!
6. Command Summary
Action | Format |
---|---|
help | help |
search | search q/QUERYSTRING |
list | list |
add | add n/NAME d/DESCRIPTION [s/STATE] [note/NOTE] [t/TAG] [pr/PRIORITY] |
delete | delete INDEX (c/COLUMN) |
edit | edit INDEX (c/COLUMN) [n/NEW_NAME] [d/NEW_DESCRIPTION] [s/NEW_STATE] [note/NEW_NOTE] [t/NEW_TAG] [pr/NEW_PRIORITY] |
editTag | editTag INDEX (c/COLUMN) ot/OLD_TAG nt/NEW_TAG |
addTag | addTag INDEX (c/COLUMN) nt/NEW_TAG |
move | move INDEX (c/COLUMN) s/STATE |
clear | clear |
exit | exit |
Team Name: AY2021S1-CS2103T-W17-1