Skip to content

Latest commit

 

History

History
695 lines (564 loc) · 23.5 KB

UserGuide.adoc

File metadata and controls

695 lines (564 loc) · 23.5 KB

TuitionConnect (TC) - User Guide

1. Introduction

TuitionConnect (TC) is an integration of a personalised address book, task manager and income tracker for private home tutors.

Stems from our strong passion in simplifying the life of tutors, TuitionConnect introduces features to aid management of tutee contacts, tuition schedule and income tracking. Moreover, we believe that a thorough connectivity is the root of simplicity. Hence, there are also features which support the management of your personal contacts and tasks.

TuitionConnect is primarily for tutors who prefer to use a desktop app for managing contacts and tasks. More importantly, TuitionConnect is optimized for those who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).

With TuitionConnect’s keyboard shortcuts and productive features, TuitionConnect can get your contact and task management done faster than traditional GUI apps. Interested? Jump to the Section 2, “Quick Start” to get started. Enjoy!

2. Quick Start

  1. Ensure you have Java version 1.8.0_60 or later installed in your Computer.

    ℹ️
    Having any Java 8 version is not enough.
    This app will not work with earlier versions of Java 8.
  2. Download the latest TuitionConnect.jar here.

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

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

    Ui with overview
    ℹ️
    If "license check has failed" message pops up, simply click "OK".
  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. Some example commands you can try:

    • list : lists all contacts

    • addn/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01 : adds a contact named John Doe to the address book.

    • delete3 : deletes the 3rd contact shown in the current list

    • exit : exits the app

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

3. Concepts Introduction

  • Contact : This refers to both the tutee and person.

  • Tutee : This refers to the students you are teaching. Adding a student as tutee requires specific tutee details to be provided. By doing so, it will be easier to organize your contacts using our special features.

  • Person : Other contacts which are not tutee.

  • Tutee Details : These are details that are only owned by tutees, which include tutee’s education level, grade, subject and school.

  • Task : This refers to the activities you want to add into your 'to-do-list'.
    Type of Task:

    1. Tuition task: Teaching a specified tutee in contact list.

    2. Personal task: Non-tuition activity.

  • Address Book : This refers to the list of contacts located on the most left side of the app.

  • Task List / Schedule : these terms are used interchangeably to refer to the list of tasks located in the middle of the app.

4. Features

Command Format

  • Words in UPPER_CASE are the parameters to be supplied by the user e.g. in add n/NAME, NAME is a parameter which can be used as add n/John Doe.

  • Items in square brackets are optional e.g n/NAME [t/TAG] can be used as n/John Doe t/friend or as n/John Doe.

  • Items with ​ after them can be used multiple times including zero times e.g. [t/TAG]…​ can be used as   (i.e. 0 times), t/friend, t/friend t/family etc.

  • Parameters can be in any order e.g. if the command specifies n/NAME p/PHONE_NUMBER, p/PHONE_NUMBER n/NAME is also acceptable.

4.1. Viewing help : help

Format: help

4.2. Adding a person: add

Adds a person to the address book
Using Command Word:
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​
Using Command Alias:
Format: a n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​

💡
A person can have any number of tags (including 0)

Examples:

4.3. Adding a tutee: addtutee

Adds a tutee to the address book
Using Command Word:
Format: addtutee n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS s/SUBJECT g/GRADE edu/EDUCATION_LEVEL sch/SCHOOL [t/TAG]…​

💡
  • A tutee can have any number of tags (including 0)

  • Special character in grade can be anything since different institution may use different grading system.
    i.e. B+, B3, B$, B# etc are all valid

Warning
  • Education level can only be either primary, secondary or junior college (NOT case sensitive)

  • All details except tag MUST be added

Examples:

  • addtutee n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01 s/Economics g/B+ edu/junior college sch/Victoria Junior College

  • addtutee n/Betsy Crowe s/Mathematics g/C e/[email protected] a/Newgate Town p/1234567 t/owesMoney sch/Victoria Institution edu/secondary

  • addtutee n/Dickson ee p/91234567 e/[email protected] a/Dickson street, block 456, #02-02 s/english g/f9 edu/primary sch/Newgate Primary School

4.4. Listing all contacts : list

Shows a list of all contacts in the address book.
Using Command Word:
Format: list
Using Command Alias:
Format: l

4.5. Listing all tutees : listtutee

Shows a list of all tutees in the address book.
Using Command Word:
Format: listtutee

4.6. Editing a contact : edit

Edits existing contact’s details in the address book.
Using Command Word:
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [s/SUBJECT] [s/SUBJECT] [g/GRADE] [edu/EDUCATION_LEVEL] [sch/SCHOOL] [t/TAG]…​
Using Comamnd Alias:
Format: e INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [s/SUBJECT] [s/SUBJECT] [g/GRADE] [edu/EDUCATION_LEVEL] [sch/SCHOOL] [t/TAG]…​

Keyword Description

edit

To call the edit command

INDEX

Index number shown in the last person listing. It must be a positive integer 1, 2, 3, …​

INDEX

The contact at the specified INDEX will be edited

ℹ️
  • "Tutee" tag is specific to tutee only and will never be removed.

  • Remove all the person’s tags: type t/ without specifying any tags after it.

  • Remove all the tutee’s tags except "Tutee" tag: type t/ without specifying any tags after it OR type t/tutee (this includes other variation of case letters for tutee such as "TUTEE", "TuteE" etc).

Valid Details to edit for each type of contact:

Person Tutee

NAME

NAME

PHONE

PHONE

EMAIL

EMAIL

ADDRESS

ADDRESS

---

SUBJECT

---

GRADE

---

EDUCATION_LEVEL

---

SCHOOL

TAG

TAG

Warning
  • At least one of the valid optional fields must be provided.

  • Existing information will be updated to the new information.

  • When editing tags, the existing tags of the contact will be removed (Except "Tutee" tag) i.e adding of tags is not cumulative.

  • Manual adding of "Tutee" tag to a person is not allowed (this includes other variation of case letters for tutee such as "tutee", "TuTeE" etc)

  • Editing of subject, grade, education level and school is not allowed for person

Examples:

  • edit 1 p/91234567 e/[email protected]
    Edits the phone number and email address of the 1st contact to be 91234567 and [email protected] respectively.

  • e 2 n/Betsy Crower sch/JohnDoe Secondary t/
    Edits the name of the 2nd contact (a tutee) to be Betsy Crower, her school to JohnDoe Secondary and clears all existing tags (except "Tutee" tag).

4.7. Locating contacts by category: findpersonby

Finds contacts whose specified category contain any of the given keywords.
Using Command Word:
Format: findpersonby CATEGORY KEYWORD [MORE_KEYWORDS]
Using Command Alias:
Format: f CATEGORY KEYWORD [MORE_KEYWORDS]

  • The search is case insensitive. e.g hans will match Hans

  • The order of the keywords does not matter. e.g. Hans Bo will match Bo Hans

  • There are 5 categories to pick:

    • 1. name

    • 2. edu* (for education level)

    • 3. grade*

    • 4. school*

    • 5. subject*

  • Categories marked with * are only owned by tutees (tutee details).

  • Only full words will be matched e.g. Han will not match Hans

  • Contacts matching at least one keyword will be returned (i.e. OR search). e.g. Hans Bo will return Hans Gruber, Bo Yang

Examples:

  • findpersonby Name John
    Lists john and John Doe

  • findpersonby name Betsy Tim John
    Lists any contact having names Betsy, Tim, or John

  • f grade B B+
    Lists all tutee with grade B and B+

4.8. Sorting persons by category: sortpersonby

Sorts your displayed contact list according to a specified category in ascending order (lexicographically).
Using Command Word:
Format: sortpersonby CATEGORY
Using Command Alias:
Format: spb CATEGORY

  • There are 5 categories to pick:

    • 1. name

    • 2. edu*

    • 3. grade*

    • 4. school*

    • 5. subject*

  • Categories marked with * are only owned by tutees. If one of these is selected, all non-tutees will be displayed last after their names are sorted lexicographically.

  • Sorting category types is case insensitive. e.g both sort name and sort Name works fine.

  • The sorting is case insensitive. e.g In a case where sort name is writen, `angel' is diplayed before 'Ben'.

  • The displayed contact list will be sorted; not the entire contact list.

Example:

  • sortpersonby Name
    sorts by name lexicographically.

4.9. Deleting a contact : delete

Deletes the specified contact from the address book.
Using Command Word:
Format: delete INDEX
Using Command Alias:
Format: d INDEX

  • Deletes the contact at the specified INDEX.

  • The index refers to the index number shown in the most recent listing.

  • The index must be a positive integer 1, 2, 3, …​

Examples:

  • list
    delete 2
    Deletes the 2nd contact in the address book.

  • f Betsy
    d 1
    Deletes the 1st contact in the results of the f command.

4.10. Adding a tuition task: addtuition

Adds a task to TuitionConnect’s schedule
Using Command Word:
Format: `addtuition TUTEE_INDEX DATE TIME DURATION [DESCRIPTION]

PARAMETERS

  • TUTEE_INDEX

    • The associated tutee is chosen by specifying a TUTEE_INDEX. The index refers to the index number shown in the left side of person listing. The index must be a positive integer 1, 2, 3, …​

    • The chosen index must be the index of a Tutee (persons who have 'Tutee' tag). Refer to the addtutee command guide for more information about Tutee.

  • DATE

    • Date refers to the date of the tuition.

    • Date must be written in the format of dd/mm/yyyy

      • valid example : 08/03/2018

      • invalid example : 8/3/2018

  • TIME

    • Time refers to the starting time of the tuition.

    • Time must be written in the format of hh:mm (24-hr format).

      • valid example : 12:00

      • invalid example : 25:00

  • DURATION

    • Duration refers to the duration of the tuition.

    • Duration must be written in the format of XXhXXm

      • valid example : 1h30m

        • this means that the tuition lasts for 1 hour and 30 minute.

      • invalid example : 01h30m

        • the duration in hour cannot have leading zero

      • invalid example : 1h60m

        • the duration in minute must be a number between 0 and 59.

      • invalid example : 30m

        • a correct duration for a 30 minute tuition is 0h30m.

  • DESCRIPTION

    • Description can be of any format.

    • Leading and trailing whitespaces will be removed.

    • Description is optional. It can be empty.

Examples:

  • addtuition 1 10/05/2018 09:00 1h30m Calculus homework page 24

  • addtuition 1 31/12/2018 16:00 0h30m

4.11. Adding a personal task: addtask

Adds a personal task to the TuitionConnect schedule
Using Command Word:
Format: `addtask DATE TIME DURATION [DESCRIPTION]+

The parameters (DATE, TIME, DURATION AND DESCRIPTION) have the same structure and limitations as explained in addtask command guide.

Examples:

  • addtask 10/05/2018 09:00 1h30m Outing with friend

  • addtask 31/12/2018 16:00 0h30m

4.12. Listing all tasks : listtask

Shows a list of all tasks in the task list.
Using Command Word:
Format: listtask
Using Command Alias:
Format: lt
The purpose of the listtask command is to regenerate
the complete list of tasks for a user in the event that
only a specific set of tasks were displayed.

4.13. Deleting a task: deletetask

Deletes a task from the TuitionConnect schedule
Using Command Word:
Format: deletetask TASK_INDEX

  • The task is chosen by specifying a TASK_INDEX. The index refers to the index number shown on the left side of the schedule list. The index must be a positive integer 1, 2, 3, …​

Examples:

  • deletetask 1

4.14. Locating tasks by category: findtaskby

Finds tasks which specified category has value within 2 given boundaries (inclusive) or contain any of the given keywords.
The functionality is determined according to the specified FIND_TYPE.

Using Command Word:
Format: findtaskby CATEGORY FIND_TYPE KEYWORD [MORE_KEYWORDS]

  • PARAMETERS

  • CATEGORY

    • There are 3 categories available:

      • 1. month

      • 2. year (coming in v2.0)

      • 3. duration (coming in v2.0)

  • FIND_TYPE

    • Choice of Find Type determines the behaviour of this command and the subsequent parameters.

    • There are 2 choices of Find Type:

      • 1. 'between' : returns tasks within the 2 given boundaries (inclusive).

      • 2. 'namely' : returns tasks that match the keywords.

  • KEYWORDS

    • Keywords given depend on the specified category:

      • 1. month

        • months in either M, MM, MMM or MMMM format.
          e.g. '1', '01', 'jan' and 'january' are all acceptable.

        • several common terms such as 'now', 'today', 'this month', 'current month', 'last month' and 'next month'.

      • 2. year to be implemented in v2.0

      • 3. duration to be implemented in v2.0

    • The amount of keywords depend on the specified Find Type:

      • 1. between
        Exactly 2 different keywords must be provided as the boundary values.

        ℹ️
        common terms that refer to a same time are considered as same keywords.
        e.g. findtaskby month between today this month is an invalid command.
      • 2. namely
        Any amount can be provided. If 0 keyword is given, the displayed schedule will be empty.

Examples:

  • findtaskby month between january current month
    Lists all tasks scheduled from January until the current month.

  • findtaskby month between November February
    Lists all tasks scheduled on November, December, January and February.

  • findtaskby month between now last month
    Lists all tasks.

  • `f month namely 2 06 oct Lists all tasks scheduled on February, June and October.

4.15. Sorting tasks by category: sorttaskby

Sorts your displayed task list according to a specified category in ascending order.
Using Command Word:
Format: sorttaskby CATEGORY
Using Command Alias:
Format: stb CATEGORY

  • There are 3 categories to pick:

    • 1. datetime

    • 2. month

    • 3. duration [coming in V 2.0]

  • Sorting category types is case insensitive.

  • Sorting is in increasing order. This means later is placed below the earlier. e.g both sort month and sort Month works fine.

Example:

  • sorttaskby Month
    sorts tasks by month in increasing order.

4.16. Changing calendar view page time unit: change

Changes the calendar’s view page into the time unit specified by you. Using Command Word:
Format: change TIME_UNIT

Time Unit User input Description

Day

d

View the calendar in day

Week

w

View the calendar in week

Month

m

View the calendar in month

Year

y

View the calendar in year

ℹ️
  • Default view page time unit is d.

  • Command fails if current view page time unit is same as the user input time unit or user input an unrecognised time unit.

Examples:

  • change d (command fails as current calendar view is already in day)

    change d
  • change w (changes calendar view to week)

    change w
  • change m (changes calendar view to month)

    change m
  • change y (changes calendar view to year)

    change y
    ℹ️
    Year view is unable to display all the months due to third party software constraint.

4.17. Listing entered commands : history

Lists all the commands that you have entered in reverse chronological order.
Using Command Word:
Format: history
Using Command Alias:
Format: h

ℹ️

Pressing the and arrows will display the previous and next input respectively in the command box.

4.18. Undoing previous command : undo

Restores the address book and the task list to the state before the previous undoable command was executed.
Using Command Word:
Format: undo Using Command Alias:
Format: u

ℹ️

Undoable commands: those commands that modify the address book’s and task list’s content (add, addtutee, addtask, addtuition, delete, edit and clear).

Examples:

  • delete 1
    list
    undo (reverses the delete 1 command)

  • delete 1
    clear
    u (reverses the clear command)
    u (reverses the delete 1 command)

4.19. Redoing the previously undone command : redo

Reverses the most recent undo command.
Using Command Word:
Format: redo
Using Command Alias:
Format: r

Examples:

  • delete 1
    undo (reverses the delete 1 command)
    redo (reapplies the delete 1 command)

  • delete 1
    redo
    The redo command fails as there are no undo commands executed previously.

  • delete 1
    clear
    undo (reverses the clear command)
    u (reverses the delete 1 command)
    redo (reapplies the delete 1 command)
    r (reapplies the clear command)

4.20. Clearing all entries : clear

Clears all entries in TuitionConnect.
Using Command Word:
Format: clear
Using Command Alias:
Format: c

4.21. Exiting the program : exit

Exits the program.
Format: exit

4.22. Saving the data

TuitionConnect data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually. === View tutee fees [coming in v2.0] Views the amount that has to be paid by a tutee.

4.23. Encrypting data files

Address book data are automatically encrypted after any command that changes the data.

4.24. View tutee fees `[coming in v2.0]

View the current amount that has to be paid by a tutee.

4.25. View tuition progress [coming in v2.0]

Shows the details of tuition provided within several months in the form of a graph.

4.26. Update tutee fees [coming in v2.0]

Updates the remaining balance of the tuition fees of a specific tutee after he or she has paid.

4.27. Complete task [coming in v2.0]

Marks a task as completed. If the task is tuition, fees will automatically be added to the tutee’s fee balance.

4.28. Edit task [coming in v2.0]

Edits date, time, duration or description of an existing task and reflects the changes on the calendar.

4.29. View contact address on Google map [coming in v2.0]

Views the location of a specific contact’s address on google map and the shortest route from the current location will be displayed.

4.30. Select a contact or a task [coming in v2.0]

Selects either a contact or a task and a pop up page containing all the relevant information will appear.

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 TuitionConnect folder.

6. Command Summary

Using Command Word:
* Add add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​
e.g. add n/James Ho p/22224444 e/[email protected] a/123, Clementi Rd, 1234665 t/friend t/colleague
* Add Tutee addtutee n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS s/SUBJECT g/GRADE edu/EDUCATION_LEVEL sch/SCHOOL [t/TAG]…​
e.g. add n/James Ho p/22224444 e/[email protected] a/123, Clementi Rd, 1234665 s/Mathematics g/A edu/junior college sch/National Junior College t/priority
* Clear : clear
* Delete : delete PERSON_INDEX
e.g. delete 3
* Edit : edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [s/SUBJECT] [s/SUBJECT] [g/GRADE] [edu/EDUCATION_LEVEL] [sch/SCHOOL] [t/TAG]…​
e.g. edit 2 n/James Lee e/[email protected]
* Find Person By : findpersonby CATEGORY KEYWORD [MORE_KEYWORDS]`
e.g. findpersonby name Jake Doe
* Sort Person By : sortpersonby CATEGORY
e.g. sort grade * List : list
* List Tutee : 'listtutee'
* Help : help
* Add Tuition : addtuition TUTEE_INDEX DATE TIME DURATION [DESCRIPTION]
e.g. addtuition 1 10/05/2018 12:00 1h30m Calculus homework page 24
* Add Task : 'add DATE TIME DURATION [DESCRIPTION]
e.g. addtask 10/05/2018 12:00 1h30m Going out with friends
* List Task : 'listtask`
* Delete Task : 'delete TASK_INDEX`
e.g. delete 1
* Find Task By : findtaskby CATEGORY FIND_TYPE KEYWORD [MORE_KEYWORDS]`
e.g. findtaskby month between April October
* Sort Task By : sorttaskby CATEGORY
e.g. sorttaskby datetime
* Change : change TIME_UNIT
e.g. change w
* History : history
* Undo : undo
* Redo : redo

Using Command Alias:
* Add a n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​
e.g. a n/James Ho p/22224444 e/[email protected] a/123, Clementi Rd, 1234665 t/friend t/colleague
* Clear : c
* Delete : d INDEX
e.g. d 3
* Edit : e INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [s/SUBJECT] [s/SUBJECT] [g/GRADE] [edu/EDUCATION_LEVEL] [sch/SCHOOL] [t/TAG]…​
e.g. e 2 n/James Lee e/[email protected]
* Find Person By : f CATEGORY KEYWORD [MORE_KEYWORDS]`
e.g. f name Jake Doe
* List : l
* Sort Person By : spb CATEGORY
e.g. spb grade
* ListTask : lt
* Sort Task By : stb CATEGORY
e.g. stb datetime
* Help : help
* History : h
* Undo : u
* Redo : r