Meet SmartOtter 🦦, your friendly and playful personal assistant that helps you manage tasks with ease. Sometimes, it may ask you to give it some fish as a reward. However, feel free to give any other seafood since the otter is smart and loves other kinds of food as well.
java -version
.Once you have everything ready, you can navigate to the directory that contains smart_otter.jar
and then use:
java -jar smart_otter.jar
This command will start the application. You should see a greeting message from SmartOtter. To quit the application,
simply type bye
. SmartOtter will give you a farewell message before closing the application automatically. Note that
this process is the same as closing the application manually.
SmartOtter can handle 3 types of tasks: to-do, tasks with deadlines, and event tasks. To add each type of task, use the following:
todo <task_name>
deadline <task_name> /by <date or datetime>
event <task_name> /from <date or datetime> /to <date or datetime>
Note that <date>
is in the format MM/DD/YYYY
, for example 12/25/2025
. The format <datetime>
extends this further
by adding time in HHMM
format, e.g., 12/25/2025 1800
.
Don’t worry if you type it incorrectly—SmartOtter will inform you if it doesn’t align with the above format.
SmartOtter allows you to find tasks in the following three ways:
list
: Find all tasks.find <keyword>
: Find tasks that match the given keywords in their description, i.e., supports search by date
string.today
: Find all deadline and event tasks that overlap with today.Although SmartOtter doesn’t support editing task information directly, you can still delete the task using
delete <task number>
and create a new one.
Note that <task_number>
is the number displayed by the list
command. Using the number shown from find
or
today
may give you incorrect deletion results.
Additionally, all tasks are created with a status of not done. You can mark them as done or not done using the following commands:
mark <task_number>
unmark <task_number>
Note that <task_number>
follows the same constraint as in deletion.
SmartOtter is smart, as its name suggests. If you make a typo in the command, e.g., dekete
instead of delete
, it
will still recognize what you mean. This feature is very flexible, since it allows at most two characters to be
incorrect. For instance, using test
is still recognized as list
since it differs by only te
and li
. Normally,
this should not cause confusion between similar commands, but be aware that it might be wrong sometimes, so maintain
consistency in your typing.