By: CS2113-AY1819S2-T08-2 Since: Mar 2019 Licence: MIT

1. Introduction

LIFE - Lifestyle Improvement For Everyone

Looking for life? Look no further for LIFE is here!

LIFE is a one stop lifestyle management application made for people to better manage their lives.
Features to help you get a better life include:

  • Task List

  • Expenditure List

  • Workout Tracker

  • Habit Tracker

  • Contact List

Interested? Jump to Section 2, “Quick Start” to get started. Enjoy!

2. Quick Start

  1. Ensure you have Java 8 (revision 1.8.0_201 or later) installed in your Computer.

    Only Java 8 is supported.
    This app will not work with later major Java releases such as Java 9, 10, 11, etc.
  2. Download the latest LIFE.jar here.

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

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

    startupGUI
  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/johnd@example.com a/John street, block 123, #01-01 : adds a contact named John Doe to the Contact List.

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

    • exit : exits the app

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

3. 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.

3.1. Task List

A feature to help you record your tasks with deadlines, say no more to forgetting your tasks!

The following subsections are commands of the task list.

3.1.1. Adding a Task : addtask

The first step to managing your tasks is to add them into the task list!
Format: addtask n/TASK_NAME d/DEADLINE_DATE h/DEADLINE_TIME [t/TAGS]

  • TASK_NAME is the name of the task that you want to input  

  • DEADLINE_DATE is the date of the deadline of the task in DDMMYY format.  

  • DEADLINE_TIME is the time of the deadline of the task in 24HRS format  

Tags are optional and are alphanumeric without space

The following are examples of some commands that you can try out:

  • addtask n/Complete CS2113T Assignment d/180319 h/2359

  • addtask n/Submit Exchange Application d/200319 h/0800 t/IMPORTANT

3.1.2. Tick Task : ticktask

Ticks off the task that you have completed off the task list and adds it into the completed task list! Good Job!
Format: ticktask INDEX

The index must be a valid index in the task list and it must be present.
Once the application restarts, all the data in the Completed Task List will be gone.

Examples:

  • ticktask 5
    Ticks the task at index 5 off.

3.1.3. Sort Task List : sorttask

Helps you to sort the tasks in the task list according to their deadline with upcoming deadlines first!
Format: sorttask

3.1.4. Delete Task : deletetask

In case the task is no longer required, you can delete it off the task list by specifying the index of the task you want to delete!
Format: deletetask INDEX

The index is the integer on the left side of the Task Name in the Task List that you want to delete!
The index must be a valid index in the task list and it must be present.

Examples:

  • deletetask 5
    Deletes the task at index 5

3.1.5. Edit Task : edittask

In case you want to change the details of a task, you can edit it through specifying the index of the task as well as the information you want to edit.
Format: edittask 1 [n/TASK_NAME] [d/DEADLINE_DATE] [h/DEADLINE_TIME]

The index must be a valid index in the task list and it must be present.
At least one optional field must be provided.
  • Existing values will be replaced with the input values

  • DEADLINE_DATE is the deadline date of the task and should be in the DDMMYY format

  • DEADLINE_TIME is the deadline time of the task and should be in the 24HRS format

Examples:

  • edittask 2 n/Banana
    Changes the task name of the task specified at index 2 to Banana.

  • edittask 2 d/290319
    Change sthe deadline date of the task specified at index 2 to 290319.

3.2. Expenditure List

A list to help you keep track of all your expenses so that you can better manage your finances!

3.2.1. Adding a purchase: addpurchase

Adds a new purchase to the expenditure list
Format: addpurchase n/NAME pr/PRICE [t/TAG]…​

  • Only Singapore Dollar(SGD) currency is supported.

  • You only have to input the value (see example)

Examples:

  • addpurchase pn/Ice cream pr/1.50

  • addpurchase pn/Bicycle rental pr/10.00 t/family t/eastcoastpark

3.2.2. Clearing expenditure list: clearexplist

Clears all past purchases recorded from the expenditure list.
Format: clearexplist

3.2.3. Listing all past expenditures: explist

Shows a list of all recorded purchases with the corresponding price in the expenditure list.
Format: explist

3.2.4. Deleting a purchase: deletepurchase [coming in v2.0]

Deletes an existing purchase in the expenditure list.
Format: deletepurchase INDEX

  • Deletes the purchase at the specified INDEX.

  • The index refers to the index number shown in the displayed expenditure list.

  • The index must be a positive integer (1, 2, 3, …) .

Example:

  • explist
    deletepurchase 2
    Deletes the 2nd purchase in the expenditure list.

3.2.5. Calculating total expenditure for the day: totalexpday [coming in v2.0]

Views total expenditure for the day
Format: totalexpday DATE

DATE should be in the DDMMYY format

Example: totalexpday 191218

3.2.6. Set spending limit: setlimit [coming in v2.0]

Sets a spending limit for one day to control expenditure.
Format: setlimit VALUE

  • Only SGD currency is supported.

  • You only have to input the value (see example)

Example: setlimit 20.00

3.3. Workout Tracker

Record your workouts and reps so that you can make the most out of the exercises!

3.3.1. View workout: workout

View the past 5 most recent workout.
Format: workout

Only the most recent 5 workout will be displayed, older workout will not be shown

Examples:

  • workout

3.3.2. Record workout : record

Record your current workout and add them into your workout records.
Format: record e/EXERCISE s/SETS r/REPS t/TIME

Words in UPPER_CASE are the parameters. EXERCISE must only contain alphanumeric.
SETS, REPS and TIME must only contain integer, and TIME must be in minutes

Examples:

  • record e/SIT UPS s/5 r/20 t/10

Record the workout of doing 5 SETS of 20 REPS of SIT UPS in 10 MINUTES

3.4. Habit Tracker

Change your lifestyle now by recording an activity regularly to turn it into a habit!

3.4.1. Add desired Habits: addHabit [coming soon]

Add habit which you wish to track into your monthly habit tracker.
Format: 'addHabit d/DATE h/HABIT a/ACCOMPLISHED'

A calendar of the month is shown, along with previous records of the month.

Example:

  • addHabit d/010119 n/SleepBefore12am a/Done

3.5. Contact List

Manage all your contacts easily in this ultimate list holding your contacts with their information!

3.5.1. Adding a person : add

Adds a person to the contact list
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​

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

Examples:

  • add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01

  • add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 t/criminal

3.5.2. Listing all persons : list

Shows a list of all persons in the contact list.
Format: list

3.5.3. Editing a person : edit

Edits an existing person in the contact list.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…​

  • Edits the person at the specified INDEX. The index refers to the index number shown in the displayed person list. The index must be a positive integer 1, 2, 3, …​

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

  • Existing values will be updated to the input values.

  • When editing tags, the existing tags of the person will be removed i.e adding of tags is not cumulative.

  • You can remove all the person’s tags by typing t/ without specifying any tags after it.

Examples:

  • edit 1 p/91234567 e/johndoe@example.com
    Edits the phone number and email address of the 1st person to be 91234567 and johndoe@example.com respectively.

  • edit 2 n/Betsy Crower t/
    Edits the name of the 2nd person to be Betsy Crower and clears all existing tags.

3.5.4. Deleting a person : delete

Deletes the specified person from the contact list.
Format: delete INDEX

  • Deletes the person at the specified INDEX.

  • The index refers to the index number shown in the displayed person list.

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

Examples:

  • list
    delete 2
    Deletes the 2nd person in the contact list.

  • find Betsy
    delete 1
    Deletes the 1st person in the results of the find command.

3.5.5. Locating persons by name: find

Finds persons whose names contain any of the given keywords.
Format: find 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

  • Only the name is searched.

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

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

Examples:

  • find John
    Returns john and John Doe

  • find Betsy Tim John
    Returns any person having names Betsy, Tim, or John

3.5.6. Selecting a person : select

Selects the person identified by the index number used in the displayed person list.
Format: select INDEX

  • Selects the person and loads the Google search page the person at the specified INDEX.

  • The index refers to the index number shown in the displayed person list.

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

Examples:

  • list
    select 2
    Selects the 2nd person in the contact list.

  • find Betsy
    select 1
    Selects the 1st person in the results of the find command.

4. General Commands

4.1. Viewing help : help

Format: help

Use this if you face trouble navigating the application or entering the correct commands!

4.2. Listing entered commands : history

Lists all the commands that you have entered in reverse chronological order (most recent at the top).
Format: history

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

4.3. Undoing previous command : undo [currently only applicable for contact list commands]

Implementation of this feature will be available for the other lists in v2.0

Restores LIFE application to the state before the previous undoable command was executed.
Format: undo

Undoable commands: those commands that modify the LIFE's content (add, delete, edit and clear).

Examples:

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

  • select 1
    list
    undo
    The undo command fails as there are no undoable commands executed previously.

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

4.4. Redoing the previously undone command : redo [currently only applicable for contact list commands]

Implementation of this feature will be available for the other lists in v2.0

Reverses the most recent undo command.
Format: redo

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)
    undo (reverses the delete 1 command)
    redo (reapplies the delete 1 command)
    redo (reapplies the clear command)

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

4.5. Exiting the program : exit

Exits the program.
Format: exit

5. Saving the data

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

6. 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 LIFE folder.

7. Command Summary

This section provides a quick summary of the existing commands in the LIFE application, for easier reference.

7.1. General Commands

General commands for easier navigability within the application.

Function Purpose Command Example

Help

Shows you the user guide for reference in app

help

help

History

Shows you a history of all commands used

history

history

Undo

Undo your previous command [currently only available for contact list commands]

undo

undo

Redo

Redo your undo [currently only available for contact list commands]

redo

redo

7.2. Task List Commands

Commands to help you maximise utility of Task List:

Function Purpose Command Example

Add Task

Adds a new task

addtask

addtask n/Complete CS2113T Assignment d/180319 h/2359

Delete Task

Deletes a task off the task list

deletetask

deletetask 1

Edit Task

Edits the task specified with the entered parameters

edittask

edittask 2 n/Banana

Tick Task

Shows that a task has been completed

ticktask

ticktask 5

Sort Task

Sorts the task list according to the deadline of each task

sorttask

sorttask

7.3. Expenditure List Commands

Commands to help you use the expenditure list to manage your expenses:

Function Purpose Command Example

Add Purchase

Adds a new purchase

addpurchase

addpurchase pn/Ice cream pr/1.50

Clear Expenditure List

Clears the existing expenditure list

clearexplist

clearexplist

Expenditure List

Shows list of purchases with the price

explist

explist

7.4. Workout Tracker Commands

Commands to help you utilise the workout book:

Function Purpose Command Example

Workout

Views the past 5 most recent workout

workout

workout

Record workout

Records a new workout and add into existing workout records

record

record e/Sit ups s/5 r/20 t/10

7.5. Habit Tracker Commands

Commands to help you navigate about the habit list:

Function Purpose Command Example

Add Habit

Adds a newly desired habit

addhabit

d/010119 n/SleepBefore12am a/Done

7.6. Contact List Commands

Commands to help you use the Contact List:

Function Purpose Command Example

Add Person

Adds a new person

add

add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01

List

Shows all the people in the contact list

list

list

Edit Person

Edits the contact details specified with the entered parameters

edit

edit 1 p/91234567 e/johndoe@example.com

Delete Person

Deletes a person off the contact list

delete

delete 1

Find Person

Finds and then show the people with names containing the keywords entered

find

find John

Select Person

Selects a specified person

select

select 2