This is a desktop application that is designed for users to keep track of the various tasks they want to do. It is under the assumption that Users prefer typing to speaking. Thus, this application does not support voice command. User can use the various functions, such as “add” or “delete” to help them keep track of their daily tasks. This application is optimized for use via Command Line Interface(CLI) and have a beautiful Graphical User Interface(GUI).
This project is modified and built from Project Duke and it is a very useful educational project designed to help fresh software developer to horn their skills by slowing building the project and explore the different software engineering principle along the way.
Prerequisites: JDK 11, update Intellij to the most recent version.
Open Intellij (if you are not in the welcome screen, click File > Close Project to close the existing project dialog first)
Set up the correct JDK version, as follows:
3.Import the project into Intellij as follows:
4.After the importing is complete, locate the src/main/java/Launcher.java file, right-click it, and choose to Run Launcher.
5.if everything is set up properly, you should be able to see the GUI in a few seconds
6.Now you can type the command and press Enter to excute it.
Tutorial on how to download the project for those new to git:
Ensure that you have downloaded Java 11 in your computer.
Download the latest Bill.jar file from here
Navigate to any empty folder and place the downloaded file into that folder.
Navigate your terminal directory to the folder that contains your Bill.jar file
Type the following command to start the application: java -jar Bill.jar
You should expect to see a Graphical User Interface(GUI) appear in a few second
You should expect to see a window as shown below:
help
command to find the list of commands you can use.This feature allows users to find the list of command to use
Usage: i want to add a task but i forgot how to use that, you can use help to help you
Format: help
Examples: help
Expected Outcome:
Navigate back to the feature list: 2. Features and Usage
This feature allows users to save the task after they have added them.
Usage: i have add some tasks and i want to add them now.
Format: save
Examples: save
Expected Outcome:
Navigate back to the feature list: 2. Features and Usage
This feature allows users to add a ToDo task to our current list
Usage: we want to add an ip ToDo task into our list
Format: todo [newTask]
Examples: todo ip
Expected Outcome:
Navigate back to the feature list: 2. Features and Usage
This feature allows users to add a task with deadline to our current list
Usage: we want to add an ip task to our list and there is a deadline for this task,eg: due on 2020 August 2, 7pm
Format: deadline [newTask] /by DD/MM/YYYY HHmm
Examples: deadline ip /by 02/08/2020 1900
Expected Outcome:
Note:
Navigate back to the feature list: 2. Features and Usage
This feature allows users to add an event to our current list.
Usage: we want to add an event to our list and there is a specific time for it. For example, it happens on 2020 August 2, 7pm
Format: event [newTask] /at DD/MM/YYYY HHmm
Examples: event assignment /at 02/08/2020 1900
Expected Outcome:
Note:
Navigate back to the feature list: 2. Features and Usage
This feature allows users to list out all the tasks added to the list in the order of the entry.
Usage: we want to check all the tasks that we have added
Format: list
Examples: list
Expected Outcome:
Navigate back to the feature list: 2. Features and Usage
This feature allows users to mark certain tasks they have done.
Usage: i have previously add an ip task to the list and i have done it. Now, i want to make the task as done.
Format: done [task index]
we first use list to find the index of the task. For example, in this case, the index for the ip task is taken as 2.
Examples: done 2
Expected Outcome:
Navigate back to the feature list: 2. Features and Usage
This feature allows users to delete certain tasks.
Usage: i have previously add an ip task to the list. Now, i want to delete the task.
Format: delete [task index]
we first use list to find the index of the task. For example, in this case, the index for the ip task is taken as 3.
Examples: delete 3
Expected Outcome:
Navigate back to the feature list: 2. Features and Usage
This feature allows users to find a certain task from the list and look at the detail.
Usage: i want to find when is my ip due.
Format: find [taskName]
Examples: find ip
Expected Outcome:
Navigate back to the feature list: 2. Features and Usage
This feature allows users to quit the application after they have done what they want
Usage: i have done adding my task and now i want to quit the application.
Format: bye
Examples: bye
Expected Outcome: Your application should be closed in 1 second.
Navigate back to the feature list: 2. Features and Usage
Index | Command to Use | Format, examples |
---|---|---|
1 | Find the list of command | help , e.g.,help |
2 | Save the task | save , e.g., save |
3 | Add a general ToDo task | todo [newTask] , e.g., todo ip |
4 | Add a Deadline task | deadline [newTask] /by DD/MM/YYYY HHmm , e.g, deadline ip /by 02/08/2020 1900 |
5 | Adding an Event | event [newTask] /at DD/MM/YYYY HHmm , e.g., event assignment /at 02/08/2020 1900 |
6 | Listing out all Tasks | list , e.g., list |
7 | Marking a Task as done | done [task index] , e.g., done 2 |
8 | Delete the task | delete [task index] , e.g, delete 3 |
9 | Find a certain task | find [taskName] , e.g., find ip |
10 | Ending a session | bye , e.g., bye |