forked from nus-cs2103-AY1617S1/addressbook-level4
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Tag user and developer guide, update about us and collate
- Loading branch information
Showing
7 changed files
with
1,201 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
# A0003878Y | ||
###### \DeveloperGuide.md | ||
``` md | ||
### 3. Logic component | ||
|
||
<img src="images/LogicClassDiagram.png" width="800"><br> | ||
|
||
**API** : [`Logic.java`](../src/main/java/seedu/agendum/logic/Logic.java) | ||
|
||
1. `Logic` uses the `Parser` class to parse the user command. | ||
2. This results in a `Command` object which is executed by the `LogicManager`. | ||
3. The command execution can affect the `Model` (e.g. adding a task) and/or raise events. | ||
4. The result of the command execution is encapsulated as a `CommandResult` object which is passed back to the `Ui`. | ||
|
||
You can view the Sequence Diagram below for interactions within the `Logic` component for the `execute("delete 1")` API call.<br> | ||
|
||
<img src="images/DeleteTaskSdForLogic.png" width="800"><br> | ||
|
||
|
||
``` | ||
###### \DeveloperGuide.md | ||
``` md | ||
## Appendix C : Non Functional Requirements | ||
|
||
1. Should work on any [mainstream OS](#mainstream-os) as long as it has Java `1.8.0_60` or higher installed. | ||
2. Should be able to hold up to 800 tasks in total (including completed tasks). | ||
3. Should come with automated unit tests. | ||
4. Should use a Continuous Integration server for real time status of master’s health. | ||
5. Should be kept open source code. | ||
6. Should favour DOS style commands over Unix-style commands. | ||
7. Should adopt an object oriented design. | ||
8. Should not violate any copyrights. | ||
9. Should have a response time of less than 1 second, for every action performed. | ||
10. Should work offline without an internet connection. | ||
11. Should work as a standalone application. | ||
12. Should not use relational databases to store data. | ||
13. Should store data in an editable text file. | ||
14. Should not require an installer. | ||
15. Should not use paid libraries and frameworks. | ||
|
||
|
||
| ||
|
||
|
||
``` | ||
###### \UserGuide.md | ||
``` md | ||
## Quick Start | ||
|
||
0. Ensure you have Java version `1.8.0_60` or above installed in your Computer. | ||
|
||
> Take note that Agendum might not work with earlier versions of Java 8. | ||
|
||
1. Download the latest `Agendum.jar` from the [releases](../../../releases) tab. | ||
|
||
2. Copy Agendum.jar to the folder you want to use as the home. | ||
|
||
3. Double-click the file to start Agendum. The GUI should appear promptly. | ||
|
||
4. Type a command in the command box and press <kbd>Enter</kbd> to execute it. | ||
|
||
e.g. typing **`help`** and pressing <kbd>Enter</kbd> will list some information about commands. | ||
|
||
5. Go ahead and try some of the commands listed below! | ||
* **`add`**` Go to shopping mall` : adds a task with description `Go to shopping mall` to Agendum. | ||
* **`delete`**` 3` : deletes the 3rd task shown in the current list | ||
* **`list`** : lists all uncompleted tasks | ||
* **`exit`** : exits Agendum | ||
|
||
6. You can refer to the [Features](#features) section below for more details of each command. | ||
|
||
|
||
| ||
|
||
|
||
## Features | ||
|
||
> **Command Format** | ||
> * Words in `UPPER_CASE` are the parameters. | ||
> * Parameters in `SQUARE_BRACKETS` are optional. | ||
> * Parameters with `...` after them can have multiple instances (separated by whitespace). | ||
> * The order of parameters is fixed. | ||
> * Commands and parameters are not case-sensitive e.g `list` will match `List` | ||
|
||
|
||
#### Viewing help : `help` | ||
|
||
If you need some reminder or more information about the features available, you can use the `help` command. | ||
|
||
Format: `help` | ||
> Help is also shown if an incorrect command is entered e.g. `run` | ||
|
||
|
||
#### Adding a task: `add` | ||
|
||
You can add a task without a specific time and date.<br> | ||
Format: `add TASK_NAME` | ||
> This will create a task without a start date/time or end date/time. | ||
|
||
Examples: | ||
|
||
* `add Workout` | ||
* `add watch Star Wars` | ||
|
||
If you need a task to be done by a specific date, you can specify the deadline after the keyword `by`.<br> | ||
Format: `add TASK_NAME [by DATE_TIME]` | ||
> Date formats are not case-sensitive | ||
|
||
Examples: | ||
|
||
* `add watch Star Wars by Fri` | ||
* `add watch Star Wars by 9pm` | ||
* `add watch Star Wars by next Wed` | ||
* `add watch Star Wars by 10 Oct, 9.30pm` | ||
|
||
If you need a task to be done within a specific date and time, you can specify the start and end time using `from` and `to`.<br> | ||
Format: `add TASK_NAME [from START_DATE_TIME to END_DATE_TIME] ` | ||
> If you specify the time but no day or date is given, the date of creation will be used. | ||
|
||
Examples: | ||
|
||
* `add movie marathon from today 12pm to friday 3pm` | ||
* `add project meeting from 10 oct 12pm to 10 oct 2pm` | ||
|
||
The event “project meeting� will start at 12pm on 10 October and end at 2pm on 10 October. | ||
|
||
``` |
Oops, something went wrong.