diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 2c2de2cfc0d..81ed39f047d 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -1,5 +1,6 @@ --- -layout: page title: About Us +layout: page +title: About Us --- We are a team based in the [School of Computing, National University of Singapore](http://www.comp.nus.edu.sg). @@ -32,7 +33,7 @@ You can reach us at the email `e0588244.nus.edu.sg` -[[github](http://github.com/eltongohjh)] +[[github](http://github.com/eltongohjh)] [[portfolio](team/eltongohjh.md)] * Role: Developer @@ -50,7 +51,7 @@ You can reach us at the email `e0588244.nus.edu.sg` ### Jonathan Kwok - + [[github](http://github.com/HalphasX)] [[portfolio](team/halphasx.md)] diff --git a/docs/Configuration.md b/docs/Configuration.md index da8c5133b7e..fe118c75b24 100644 --- a/docs/Configuration.md +++ b/docs/Configuration.md @@ -1,5 +1,6 @@ --- -layout: page title: Configuration guide +layout: page +title: Configuration guide --- Certain properties of the application can be controlled (e.g user preferences file location, logging level) through the diff --git a/docs/DevOps.md b/docs/DevOps.md index 61d9c7dfceb..03d7812d0da 100644 --- a/docs/DevOps.md +++ b/docs/DevOps.md @@ -1,5 +1,6 @@ --- -layout: page title: DevOps guide +layout: page +title: DevOps guide --- * Table of Contents {:toc} diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 385a3886c30..9bf333600f8 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -1,5 +1,6 @@ --- -layout: page title: Developer Guide +layout: page +title: Developer Guide --- * Table of Contents {:toc} @@ -8,8 +9,9 @@ layout: page title: Developer Guide ## **Acknowledgements** -* {list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the - original source as well} +This project is a further iteration of the [_AddressBook-Level 3 ( +AB-3)_](https://nus-cs2103-ay2122s1.github.io/tp/DeveloperGuide.html) project. All features we have are in addition to +those already present in AB-3. Removed features are listed as well. -------------------------------------------------------------------------------------------------------------------- @@ -19,171 +21,77 @@ Refer to the guide [_Setting up and getting started_](SettingUp.md). -------------------------------------------------------------------------------------------------------------------- -## **Design** +## Glossary + +* **Autocomplete**: A functionality to complete a `Tag` or a `Command` without users typing the complete strings +* **Command structure**: The order in which parameters and command words must be written in order for the command to be + correctly parsed +* **Dummy data**: Sample data used in testing or example data present on first launch of application +* **Group**: A container containing `Person` objects with shared traits that is created by the user +* **Key power features**: Essential features that will be used often when running the software application +* **Mainstream OS**: Windows, Linux, Unix, MacOS +* **Metadata**: Personal data about a `Person` object +* **Note**: A general description of each `Person` to record their activities, with last edit timestamp attached +* **Pin**: Fixing a `Person` to the top of the current list of `Person` objects or a `Group` +* **Subgroup**: A child of a `Group` used to store multiple persons based on a more specific category than `Group`. A ** + Subgroup** can be created by specifying the parent group of the **Subgroup**. A person in a **Subgroup** is + automatically in the parent `Group` as well +* **Tag**: A string descriptor attached to `Group` objects or `Person` objects +* **Ungrouped**: Used to describe a `Person` object with no grouping -
+ +* High - must have
+* Medium - nice to have
+* Low - unlikely to have
+* Default - already implemented)
+
+|As a … |I want to … |So that I can … |Priority |Status |When? |
+|--------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------|------------|-----------|--------------|
+|on the go user |add notes without wifi or internet access |use the app anywhere |Default | |Iteration 1.2 |
+|new user |have dummy data |see what my entries look like |Default | |Iteration 1.2 |
+|new user |remove all dummy entries easily |start doing work quickly |Medium | |Iteration 1.2 |
+|general user, new user |see a simple UI which shows essential features immediately and hides away advanced features till you need them|slowly learn the features |High | |Iteration 1.2 |
+|general user, mentor professor, module professor |take notes with timestamps |see my notes chronologically |High | |Iteration 1.2 |
+|general user, mentor professor, module professor |edit the groups or tags of a student | |High | |Iteration 1.2 |
+|mentor professor |group the students based on the mentoring subjects |tag or comment on each group separately |High | |Iteration 1.2 |
+|general user, mentor professor, module professor |have easy-to-remember commands for inputting information | |High | |Iteration 1.2 |
+|general user |delete groups/subgroups | |High |Not started|Iteration 1.2 |
+|experienced user, general user |add tags cumulatively |not retype my old tags |High |Not started|Iteration 1.2 |
+|new user |see clear error messages that explains how to enter the correct command |learn the right syntax from my errors |High |Not started|Iteration 1.2b|
+|experienced user, general user, mentor professor, module professor |edit previous notes I have taken | |High | |Iteration 1.2b|
+|mentor professor, module professor, new user |have an easily accessible help page | |High | |Iteration 1.2b|
+|experienced user, general user, mentor professor, module professor, new user, on the go user|search by tag/category |find students based on tag/category |High |Not started|Iteration 1.2b|
+|general user, mentor professor, module professor |have notes attached to categories |save notes relevant to a whole group |Medium | |Iteration 1.2b|
+|general user |create general notes |take down any thoughts I have on the fly |Medium |Not started|Iteration 1.2b|
+|new user |see a confirmation message if I choose to delete something |avoid accidental deletions |Medium | |Iteration 1.2b|
+|experienced user, mentor professor, module professor |specify the kinds of data attached to contacts which is viewable from the front page |only see information that I need |Nice To Have| |Iteration 1.3 |
+|general user |display all of the user information in an easy to reference format |read large amounts of information at once easily |Medium | |Iteration 1.3 |
+|mentor professor, module professor |initialise the contacts for many students at once |add similar students by batch |Medium | |Iteration 1.3 |
+|mentor professor |see the last time I contacted a student |know if I need to check up on them |Medium | |Iteration 1.3 |
+|new user |get prompted for the arguments. |learn the command structure |Medium | |Iteration 1.3 |
+|experienced user |pin users I need to access regularly |see commonly accessed users easily |Low | |Iteration 1.3b|
+|experienced user |see personal metadata such as number of high-priority students & number of contacts |determine my own usage |Low | |Iteration 1.3b|
+|new user |see a short tutorial |get familiar with key features |Low |Not started|Iteration 1.3b|
+|general user |see a list of recently looked up people |quickly add on thoughts on the people I've just seen |Medium | |Iteration 1.3b|
+|mentor professor, module professor |hide groups |ignore groups no longer relevant to me |Low | |Iteration 1.3b|
+|general user, mentor professor, module professor, on the go user |export the data to PDF & CSV / Excel |reference the information in another format |Low | |Iteration 1.3b|
+|experienced user |sort by complete inclusion of terms rather than matching any term |narrow down my search results easily |Low |Not started|Iteration 1.3b|
+|general user |create general reminders |remind myself of tasks I need to do for my mentees/students|Low |Not started|Iteration 1.3b|
+|experienced user, module professor |set my own command aliases |use my own commands when I am used to them |Low | |Delay |
+|experienced user, mentor professor, module professor |use shorter commands |save time |Medium | |Delay |
### Use cases
(For all use cases below, the **System** is the `AddressBook` and the **Actor** is the `user`, unless specified
otherwise)
-**Use case: Delete a person**
+**Use case: Add a note**
**MSS**
-1. User requests to list persons
+1. User requests to add a note to the person
2. AddressBook shows a list of persons
-3. User requests to delete a specific person in the list
-4. AddressBook deletes the person
+3. User requests to add a note to a specific person in the list
+4. AddressBook opens up a pop up dialogue for the user to type the note for the person
+5. User requests to save the note to the person
+6. AddressBook stores the book to the person
+7. AddressBook saves the note to storage
Use case ends.
**Extensions**
-* 2a. The list is empty.
-
- Use case ends.
+* 2a. The list is empty. Use case ends.
* 3a. The given index is invalid.
+ * 3a1. AddressBook shows an error message. Use case resumes at step 2.
- * 3a1. AddressBook shows an error message.
+**Use case: User types a command**
- Use case resumes at step 2.
+**MSS**
-*{More to be added}*
+1. User starts typing a command in AddressBook
+2. AddressBook shows possible commands starting with what user has typed
+3. User presses tab to select the right command
+4. User presses enter to execute the selected command
+5. AddressBook runs command (UC1)
+
+ Use case ends.
+
+**Extensions**
+
+* 2a. The typed string is not in any command.
+ * 2a1. AddressBook displays no commands. Use case resumes at step 1.
### Non-Functional Requirements
1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed.
2. Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage.
-3. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be
+3. A user with above average typing speed for regular English text (i.e., not code, not system admin commands) should be
able to accomplish most of the tasks faster using commands than using the mouse.
-
-*{More to be added}*
-
-### Glossary
-
-* **Mainstream OS**: Windows, Linux, Unix, OS-X
-* **Private contact detail**: A contact detail that is not meant to be shared with others
+4. Installing a new update shall not in any way, modify or erase existing data and value from the previous version, and
+ the new update should be compatible with the data produced earlier within the system.
+5. Should be able to store notes in English language, and provisions shall be made to support all languages.
+6. The system should be able to handle notes with at most 1000 lines without any noticeable decrease in performance, so
+ that users can keep extensive notes on their mentees.
+7. The user should not lose any data if the system exits prematurely.
+8. The system should be able to reply to the prompt or command from the user within 3 seconds.
+9. The system should be intuitive to use for a mentor professor.
+10. Should ensure personal data privacy and security of data access.
+11. Software testing will require the use of automated testing. The test will be deleted after successful implementation
+ of the software system.
--------------------------------------------------------------------------------------------------------------------
diff --git a/docs/Documentation.md b/docs/Documentation.md
index 1c2dfdbea76..f44acbd4d56 100644
--- a/docs/Documentation.md
+++ b/docs/Documentation.md
@@ -1,5 +1,6 @@
---
-layout: page title: Documentation guide
+layout: page
+title: Documentation guide
---
**Setting up and maintaining the project website:**
diff --git a/docs/Logging.md b/docs/Logging.md
index 638eecdeaf8..26cbbb7d981 100644
--- a/docs/Logging.md
+++ b/docs/Logging.md
@@ -1,5 +1,6 @@
---
-layout: page title: Logging guide
+layout: page
+title: Logging guide
---
* We are using `java.util.logging` package for logging.
diff --git a/docs/SettingUp.md b/docs/SettingUp.md
index 62373bf6950..0dfce54a21d 100644
--- a/docs/SettingUp.md
+++ b/docs/SettingUp.md
@@ -1,5 +1,6 @@
---
-layout: page title: Setting up and getting started
+layout: page
+title: Setting up and getting started
---
* Table of Contents {:toc}
@@ -54,11 +55,9 @@ If you plan to use Intellij IDEA (highly recommended):
1. **Learn the design**
When you are ready to start coding, we recommend that you get some sense of the overall design by reading
- about [AddressBook’s architecture](DeveloperGuide.md#architecture).
+ about [Notor’s architecture](DeveloperGuide.md#architecture).
1. **Do the tutorials**
These tutorials will help you get acquainted with the codebase.
* [Tracing code](tutorials/TracingCode.md)
- * [Adding a new command](tutorials/AddRemark.md)
- * [Removing fields](tutorials/RemovingFields.md)
diff --git a/docs/Testing.md b/docs/Testing.md
index 011acfeda35..63ad1cc2c57 100644
--- a/docs/Testing.md
+++ b/docs/Testing.md
@@ -1,5 +1,6 @@
---
-layout: page title: Testing guide
+layout: page
+title: Testing guide
---
* Table of Contents {:toc}
diff --git a/docs/UserGuide.md b/docs/UserGuide.md
index 0e11757a718..08c91f87539 100644
--- a/docs/UserGuide.md
+++ b/docs/UserGuide.md
@@ -1,10 +1,9 @@
---
-layout: page title: User Guide
+layout: page
+title: User Guide
---
-AddressBook Level 3 (AB3) is a **desktop app for managing contacts, optimized for use via a Command Line Interface** (
-CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, AB3 can get your contact
-management tasks done faster than traditional GUI apps.
+Notor is a desktop app for mentors to keep tabs on their mentees, **optimized for use via a Command Line Interface** (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, Notor allows you to take notes quickly and efficiently, and keeping them in an easy to reference format, which is vital if you are taking notes during meetings with mentees.
* Table of Contents {:toc}
@@ -16,7 +15,7 @@ management tasks done faster than traditional GUI apps.
2. Download the latest `notor.jar`.
-3. Copy the file to the folder you want to use as the _home folder_ for your AddressBook.
+3. Copy the file to the folder you want to use as the _home folder_ for your Notor.
4. Double-click the file to start the app. The GUI similar to the below should appear in a few seconds. Note how the app
contains some sample data.
@@ -79,7 +78,7 @@ Format: `help`
#### Clearing all entries : `clear`
-Clears all entries from the address book.
+Clears all entries from Notor.
Format: `clear`
@@ -374,7 +373,7 @@ Notor data are saved as a JSON file `[JAR file location]/data/Notor.json`. Advan
directly by editing that data file.