KAJI - User Guide

By: Team CS2113T-F11-3 Since: August 2020

Table of Contents

  1. Overview
    1.1. About KAJI
    1.2. About this User Guide
    1.3. Understanding the Command Line Interface (CLI)
    1.4. Understanding KAJI
           1.4.1. Content Management
           1.4.2. Schedule Management
  2. Quick Start
  3. Features
    3.1. Admin Level
           3.1.1. Adding a module: add
           3.1.2. Listing modules available: list
           3.1.3. Editing a module name: edit
           3.1.4. Removing a module: remove
           3.1.5. Accessing the module level: go
    3.2. Module Level
           3.2.1. Adding a chapter: add
           3.2.2. Listing chapters available: list
           3.2.3. Editing a chapter name: edit
           3.2.4. Removing a chapter: remove
           3.2.5. Accessing the chapter level: go
           3.2.6. Returning to admin level: back
           3.2.7. Starting a revision session: revise
           3.2.8. Rescheduling a chapter: reschedule
    3.3. Chapter Level
           3.3.1. Adding a flashcard: add
           3.3.2. Listing flashcards available: list
           3.3.3. Editing a flashcard content: edit
           3.3.4. Removing a flashcard: remove
           3.3.5. Returning to module level: back
           3.3.6. Checking overall performance for a chapter: showrate
    3.4. Scheduling in KAJI
           3.4.1. Listing the chapters due for today: due
           3.4.2. Listing the chapters that are due in the upcoming week: preview
           3.4.3. Adding chapters to your list of excluded modules: exclude
           3.4.4. Removing chapters from the list of excluded modules: include
    3.5. General
           3.5.1. Showing a list of commands available: help
           3.5.2. Viewing the revision history: history
           3.5.3. Exiting the program: exit
  4. Command Summary
    4.1. Admin Level
    4.2. Module Level
    4.3. Chapter Level
    4.4. Scheduling in Kaji
    4.5. General

1. Overview

This section gives an overview about KAJI and the purpose of this user guide.

1.1. About KAJI

In your past learning experience, have you encountered these problems? A large number of lecture notes and materials have made your computer desktop messy, and there is no way to find the materials you want. When the exam is approaching, you don’t know which subject to review first, or suddenly find that you have forgotten everything you learned before. No one wants to forget what they have dedicated time to learn.

Don’t worry! KAJI will help you solve all these problems!

Kaji is a schedule manager that implements Spaced Repetition, optimised for use via a Command Line Interface (CLI).

1.2. About this User Guide

This User Guide explains how to use KAJI. It provides an understanding of the features and commands, as well as some common use cases of this application.

In this guide, we cover:

1.3. Understanding the Command Line Interface (CLI)

To use KAJI, you have to first know the Command Line Interface, the platform that KAJI runs on. However, as we have simplified the interface for you, here is a simplified introduction that will cover everything you need to know about the CLI to use KAJI.

CLI
Figure 1. KAJI CLI Layout

1.4. Understanding KAJI

1.4.1. Content Management

KAJI’s content management system is similar to a physical folder which you may use to organize your lecture handouts.
KAJI manages content in four different levels, they are the Admin Level, the Module Level, the Chapter Level and the Flashcard Level:

Content Management
Figure 2. Content Management Diagram

When you start our program, you begin on the Admin Level, indicated by the prompt “admin” as shown here.
To add/modify/remove elements of a certain level, you have to be on the level above it.

Refer to Features below for details of each command.

1.4.2. Schedule Management

Your biggest reason to use KAJI lies in KAJI’s ability to provide you with the full benefits of “Spaced Repetition” without you having to do the tedious manual work involved. To accomplish this, KAJI comes with an automated Schedule Management feature that will facilitate the “Spaced Repetition” scheduling process for you.

To find out more about how you can utilise the feature and even customise it to your liking, find out more below.


2. Quick Start

To get started on this application, please perform the following steps:

  1. Ensure that you have Java 11 or above installed.
  2. Download the latest version of KAJI from here.
  3. Copy the file to an empty folder you want to use as the home folder for your KAJI.
  4. Open a command window in the folder you saved KAJI and run the command java -jar kaji.jar. You should get the output as shown below:
    Welcome screen
  5. Type the command in the command window and press Enter to execute it. e.g. typing help and pressing Enter will show the list of commands available.
    Some example commands you can try:
    • help : Lists all commands available.
    • exit : Exits the app.
  6. Refer to Features below for details of each command.

3. Features

This section introduces the syntax and usages of the commands for the features available in KAJI. In explaining the syntax, do take note of the following command format which applies to all KAJI commands:

3.1. Admin Level

This section introduces the syntax and usages of the commands for the features that are available at the Admin Level.
Ensure that you are at the Admin Level before trying the commands in the next few sections:

Admin Level

3.1.1. Adding a module: add

Welcome to the first feature of KAJI! In order to use this program, you first will need to create a module deck. Creating a new module deck in KAJI is like getting a new folder to store all the handouts for one module. This is important because it helps you to organize your messy notes.

Format: add MODULE_NAME MODULE_NAME is the name of the new module that you would like to create, such as CS2113, Module 1 or Biology.

Here are some key pointers:

Example:

In this example, you are going to add a new module called CS2113T.
Below are steps of using this add command:

Add Module 1

Add Module 2

This is an additional example to show you the unique property of KAJI’s add feature.
As you may aware from Key Pointers section above, KAJI is case-insensitive. This example belows shows you what will happen if you try to add a new module called cs2113t after completing the previous example.
Below are the breakdown of this example:

Add Module 3

Add Module 4

This is another additional example to show you the unique property of Kaji’s add feature.
As you may aware from Key Pointers section above, Kaji only allows addition of one new module each time. Let’s see what will happen if you try to add two modules cs2113 cs2101 at same time.
Below are the breakdown of this example:

Add Module 5

Add Module 6

3.1.2. Listing modules available: list

After adding modules to the admin, you can view the list of modules that you have for the admin by using the list command.

Format: list

Here are some key pointers:

Example:

List Module 1

List Module 2

3.1.3. Editing a module name: edit

You can edit the name of an existing module from the list of modules by using the edit command, followed by the edited name of the module.

Format: edit MODULE_INDEX MODULE_NAME

Here are some key pointers:

Example:

Let’s say you want to edit the module name to CS2113T for the module cs2113.

Edit Module 1

Edit Module 2

Edit Module 3

Edit Module 4

3.1.4. Removing a module: remove

Removes a module from KAJI.

Format: remove MODULE_INDEX

Here are some key pointers:

Example:

For instance, you are currently at the admin level and want to remove the module CS2113T, the steps to do so are shown below:

Remove Module 1

Remove Module 2

3.1.5. Accessing the module level: go

Now you have learnt how to create, edit and delete the module deck, let’s move to the next page. You can now access the module deck you have created by using the command go MODULE_INDEX. Format: go MODULE_INDEX

Here are some key pointers:

Example:

In this example, you are going to access the module CS2113T that you have created in the previous sections. Below are steps of using this go command:

Go Module 1

Go Module 2

Go Module 3

Go Module 4

Go Module 5

3.2. Module level

This section introduces the syntax and usages of the commands for the features that are available at the Module Level.
Ensure that you are at the Module Level before trying the commands in the next few sections:

Module Level

3.2.1. Adding a chapter: add

You are now at the module level! This command allows you to create a new chapter inside your current module deck. It belongs to the module level you are currently in. It is like preparing an empty paper to write notes for a lecture. Let’s create a new chapter inside the module!

Format: add CHAPTER_NAME CHAPTER_NAME is the name of the new chapter that you would like to create, such as Topic 1, Chapter 1 or Newton's laws of motion.

Here are some key pointers:

Example:

In this example, you are going to add a new chapter called Chapter 1.
Below are steps of using this add command:

Add Chapter 1

Add Chapter 2

Add Chapter 3

Add Chapter 4

3.2.2. Listing chapters available: list

After adding chapters to the module, you can view the list of chapters that you have for the module by using the list command.

Format: list

Here are some key pointers:

Example:

List Chapter 1

List Chapter 2

3.2.3. Editing a chapter name: edit

You can edit the name of an existing chapter from the list of chapters. You can do so by using the edit command, followed by the edited name of the chapter.

Format: edit CHAPTER_INDEX CHAPTER_NAME

Here are some key pointers:

Example:

Let’s say you want to edit the chapter name to Chapter 1 for the chapter chap 1.

Edit Chapter 1

Edit Chapter 2

Edit Chapter 3

Edit Chapter 4

3.2.4. Removing a chapter: remove

Removes a chapter from KAJI.

Format: remove CHAPTER_INDEX

Here are some key pointers:

Example:

For instance, you are currently at the module level CS2113T and want to remove the chapter Chapter 1, the steps to do so are shown below:

Remove Chapter 1

Remove Chapter 2

3.2.5. Accessing the chapter level: go

Proceeds to the Chapter Level with reference to one of the Chapters within the module.

Format: go CHAPTER_INDEX

Example:

For instance, you are currently in Module level CS2113T and want to head to Chapter level Chapter 1 , the steps to do so are shown below:

Go prompt

Go Command

Go Result

3.2.6. Returning to admin level: back

Returns to the Admin level.

Format: back

Example:

For instance, you are currently in Module level CS2113T and want to return to the Admin level, the steps to do so are shown below:

Back Command

Back Result

3.2.7. Starting a revision session: revise

Starts a revision session for a chapter.

Format: revise CHAPTER_INDEX

Here are some key pointers:

Example:

For instance, you are currently in the module level CS2113T and want to start a revision for Chapter 1, the steps to do so are shown below:

Revise 1

Revise 2

Revise 3

Revise 4

Revise 5

Revise 6

Revise 7

Revise 8

3.2.8. Rescheduling a chapter: reschedule

You can reschedule the due date of an existing chapter from the list of chapters. Rescheduling a chapter allows you to reschedule a chapter to an earlier or later date than the specified due date. You can do so by using the reschedule command, followed by the due date that you want to reschedule the chapter to.

Format: reschedule CHAPTER_INDEX DATE

Here are some key pointers:

Example:

Let’s say you want to reschedule the due date to 2020-12-20 for the chapter Chapter 1.

Reschedule Chapter 1

Reschedule Chapter 2

Reschedule Chapter 3

Reschedule Chapter 4

3.3. Chapter Level

This section introduces the syntax and usages of the commands for the features that are available at the Chapter Level.
Ensure that you are at the Chapter Level before trying the commands in the next few sections:

Chapter Level

3.3.1. Adding a flashcard: add

After adding a new chapter, the first thing you might want to do is to add a flashcard to the chapter. You can do so by using the add command, followed by the details of the flashcard.

Format: add q:QUESTION | a:ANSWER

Here are some key pointers:

Example:

Let’s say you want to add a new flashcard with 1+1 as the QUESTION and 2 as the ANSWER:

Add Card 1

Add Card 2

3.3.2. Listing flashcards available: list

After adding flashcards to the chapter, you can view the list of flashcards that you have for the chapter. You can do so by using the list command.

Format: list

Here are some key pointers:

Example:

Let’s say you want to view all the flashcards for a chapter:

List Card 1

List Card 2

3.3.3. Editing a flashcard content: edit

You can edit the question and/or answer of an existing flashcard from the list of flashcards. You can do so by using the edit command, followed by the details of the flashcard.

Format:

Here are some key pointers:

Example:

Let’s say you want to edit the question to 2*1 for the flashcard that has 1+1 as the question and 2 as the answer.

Edit Card 1

Edit Card 2

Edit Card 3

Edit Card 4

3.3.4. Removing a flashcard: remove

Removes a flashcard from KAJI.

Format: remove FLASHCARD_INDEX

Here are some key pointers:

Example:

For instance, you are currently at the chapter level Chapter 1 and want to remove the flashcard [Q] 1+1 | [A] 2, the steps to do so are shown below:

Remove Card 1

Remove Card 2

3.3.5. Returning to module level: back

Returns to the module level.

Format: back

Example:

For instance, you are currently in chapter level Chapter 1 and want to return to the module level CS2113T, the steps to do so are shown below:

Back Module 1

Back Module 2

3.3.6. Checking overall performance for a chapter: showrate

Congratulations! You have learnt how to add flashcards and revise your flash cards, and now is the time to check your overall performance for a chapter.

It is very simple, all you have to do is to enter the command showrate in prompt.

Format: showrate

Here are some key pointers:

Example:

For instance, you would like to check your overall performance after completing several rounds of revision.
Below are steps of using this showrate command:

Show rate 1

Show rate 2

3.4 Scheduling in KAJI

Now that you know how to make KAJI manage your Database of revision content for you, what about scheduling? For your benefit, the scheduling in KAJI is mostly automated!

You don’t have to do a thing to enjoy the benefits of Spaced Repetition. Everything is scheduled for you, so all you have to do is to use the commands due and preview to view what chapters are due and complete the revision for them accordingly.

Despite that, this does not mean that you cannot customise the scheduling process. KAJI allows you to reschedule, include and exclude Chapters manually if you wish to do so, but more on that later. First, let us get into the specific introduction of each command.

3.4.1. Listing the chapters due for today: due

As you now know, each Chapter will be scheduled to be due on a date. However, it will be tedious for you to go through each chapter one by one to find their deadlines. Our solution to that, is the due command.

The due command simplifies the process for by showing you the Chapters that you have scheduled on that day and the Modules they belong to.

Format: due

Here are some key pointers:

Example:

At any point, if you want to see what Chapters are due, all you have to do is enter the due command. Below is an example of an execution of the due command.

Due Command

Due Command Result

3.4.2. Listing the chapters that are due in the upcoming week: preview

Beyond simply being able to view the Chapters that are due on the day itself, what if you would like to view your upcoming revision schedule so that you can plan ahead? For that specific purpose, we have the preview command.

The preview command shows you the Chapters that you have scheduled for each day of the upcoming week and the Modules that they belong to.

Format: preview

Here are some key pointers:

Example:

At any point, if you want to see a preview of which Chapters are going to be due within the upcoming week, all you have to do is enter the preview command. Below is an example of an execution of the preview command.

Preview Command

Preview Command Result

3.4.3. Adding chapters to your list of excluded modules: exclude

Apart from viewing your schedule, what if the Semester has ended and you would like to take a Module or Chapter out of your schedule? If you were to remove the files from your database completely, it would be really tedious to add the content back Card by Card. Therefore, we created the exclude command.

The exclude command allows you to add a single Chapter or every Chapter from a Module to your Exclusion list so that you can remove these items from your schedule.

Format: exclude MODULE_OR_CHAPTER The exclude command has two options for MODULE_OR_CHAPTER:

Here are some key pointers:

Example:

At any point, if you would like to add to your Exclusion List, all you have to do is enter the exclude command with the choice of “module” or “chapter” in the format specified above. Below are examples of the execution of the exclude command using both options.

Example of exclude module

Exclude Command Module mode: Command

Exclude Command Module mode: ModuleName Filled

Exclude Command Module mode: Result

Example of exclude chapter

Exclude Command Chapter mode: ChapterName Command

Exclude Command Module mode: ModuleName Prompt

Exclude Command Chapter mode: ChapterName Filled

Exclude Command Chapter mode: Result

3.4.4. Removing chapters from the list of excluded modules: include

However, what should be done if you had excluded the Chapters of a Module from your schedule, only to find that it is a prerequisite for another module the next semester. To prepare for the upcoming semester, you would like to revise the excluded content again. This is why we created the include command.

The include command allows you to remove a single Chapter or every Chapter from a Module from your Exclusion list so that you can add these items back into your schedule.

Format: include MODULE_OR_CHAPTER The include command has two options for MODULE_OR_CHAPTER:

Here are some key pointers:

Example:

At any point, if you wish to remove from your Exclusion List, you can either enter the include command with the choice of either “chapter” or “module” in the format specified above. Below are examples of the command’s execution using both options.

Example of include module

Include Command Module mode: ModuleName Command

Include Command Module mode: ModuleName Filled

Include Command Module mode: Result

Example of include chapter

Include Command Chapter mode: ChapterName Command

Include Command Chapter mode: ModuleName Prompt

Include Command Chapter mode: ChapterName Prompt

Include Command Chapter mode: Result

3.5. General

This section introduces the syntax and usages of the commands for the features that are available at All Levels.
You can use the commands in the next few sections at Admin, Module and Chapter Level.

3.5.1. Showing a list of commands available: help

If you forget the format of some commands, you can find a list of commands available by using help command.

Format: help

Here is a key point:

Example:

Help 1

Help 2

3.5.2. Viewing the revision history: history

You can view the revision completed in the session/in a day by using history command.

Format:
history
history DATE

Here are some key pointers:

Example:

Let’s say today is 2020-11-09 and you want to view the revision history today:

History 1

History 2

History 3

3.5.3. Exiting the program: exit

You can exit Kaji by using this command.

Format: exit

Example:

Exit 1

Exit 1


4. Command Summary

4.1. Admin Level

Action Format, Examples
Add Module add MODULE_NAME
e.g. add CS2113T
List Modules list
Edit Module Name edit MODULE_INDEX MODULE_NAME
e.g. edit 1 CS2113
Remove Module remove MODULE_INDEX
e.g. remove 1
Access Module Level go MODULE_NAME
e.g. go CS2113

4.2. Module Level

Action Format, Examples
Add Chapter add CHAPTER_NAME
e.g. add Chapter 1
List Chapters list
Edit Chapter Name edit INDEX CHAPTER_NAME
e.g. edit 1 Chapter 1
Remove Chapter remove CHAPTER_INDEX
e.g. remove 1
Access Chapter Level go CHAPTER_NAME
e.g. go Chapter 1
Return Admin Level back
Revise revise CHAPTER_INDEX
e.g. revise Chapter 1
Reschedule reschedule CHAPTER_INDEX DATE
e.g. reschedule 1 2020-11-03

4.3. Chapter Level

Action Format, Examples
Add Flashcard add q:QUESTION | a:ANSWER
e.g. add q:1+1 | a:2
List Flashcards list
Edit Flashcard edit FLASHCARD_INDEX q:QUESTION | a:ANSWER
e.g. edit 1 q:2*1 | a:2
Remove Flashcard remove FLASHCARD_INDEX
e.g. remove 1
Return Module Level back
Show Rate showrate

4.4. Scheduling in KAJI

Action Format, Examples
List Due Chapters due
Preview preview
Exclude exclude MODULE_OR_CHAPTER
e.g. exclude module or exclude chapter
Include include MODULE_OR_CHAPTER
e.g. include module or include chapter

4.5. General

Action Format, Examples
Help help
Show Revision History history or history DATE
e.g. history 2020-11-03
Exit exit