From 0ca18a4c7884573b6ebd3ad9b6855fbb4df1a320 Mon Sep 17 00:00:00 2001
From: Titus Chew <39845485+tituschewxj@users.noreply.github.com>
Date: Mon, 15 Apr 2024 19:02:27 +0800
Subject: [PATCH] Update DG and DG
Let's
- Improve pages
- Fix setcrs note
---
docs/DeveloperGuide.md | 55 ++++++++++++++++++++++++-----------------
docs/UserGuide.md | 56 ++++++++++++++++++++++++++++++++++--------
2 files changed, 78 insertions(+), 33 deletions(-)
diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index 4329dcb400f..8e37eafef0c 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -186,6 +186,13 @@ While a command is named as `XYZPersonCommandParser` internally (where `XYZ` is
* stores a `CourseName` object that represent a Course code. This is exposed to the outside as a `ReadOnlyCourseName` object.
* does not depend on any of the other three components (as the `Model` represents data entities of the domain, they should make sense on their own without depending on other components)
+
+
+While `Person` objects are used internally, it represents a student externally in TAPro.
+
+
+{{ newPageBetween }}
+
**An alternative model:**
@@ -196,10 +203,7 @@ An alternative (arguably, a more OOP) model is given below. It has a `Tag` list
-
-
-While `Person` objects are used internally, it represents a student externally in TAPro.
-
+{{ newPageBetween }}
### Storage component
@@ -379,6 +383,8 @@ By having caching of intermediate results, it reduces the need to recompute cert
Lazy evaluation is carried out in `AttributeTrie`, where the new `Trie` was lazily evaluated. It means that the `Trie` was only generated when the autocompletion of a parameter value doesn't have an `AttributeTrie` already present.
+
+
#### Future improvements to the autocomplete feature
**Improve detection on whether attributes are actually modified before updating their `AttributeTrie`s:**
@@ -439,6 +445,8 @@ be saved in the `addressBookStateList`, and the `currentStatePointer` is shifted
+{{ newPageBetween }}
+
**Step 3.** The user executes `addstu n/David …` to add a new person. The `addstu` command also calls `Model#commitAddressBook()`, causing another modified contact book state to be saved into the `addressBookStateList`.
@@ -447,12 +455,14 @@ be saved in the `addressBookStateList`, and the `currentStatePointer` is shifted
**Note:** If a command fails its execution, it will not call `Model#commitAddressBook()`, so the contact book state will not be saved into the `addressBookStateList`.
-
+
**Step 4.** The user now decides that adding the person was a mistake, and decides to undo that action by executing the `undo` command. The `undo` command will call `Model#undoAddressBook()`, which will shift the `currentStatePointer` once to the left, pointing it to the previous contact book state, and restores the contact book to that state.
+{{ newPageBetween }}
+
**Step 5.** The user wants to set the course name. He enters the command `setcrs CS2103T`, causing the course name to appear on the main window's title.
@@ -485,6 +495,8 @@ The `redo` command does the opposite — it calls `Model#redoAddressBook()`,
+{{ newPageBetween }}
+
**Step 6.** The user then decides to execute the command `list`. Commands that do not modify the contact book, such as `list`, will usually not call `Model#commitAddressBook()`, `Model#undoAddressBook()` or `Model#redoAddressBook()`. Thus, the `addressBookStateList` remains unchanged.
@@ -507,6 +519,8 @@ The following activity diagram summarizes what happens when a user executes a ne
* Pros: Easy to implement.
* Cons: May have performance issues in terms of memory usage.
+
+
* **Alternative 2:** Individual command knows how to undo/redo by
itself.
* Pros: Will use less memory (e.g. for `delstu`, just save the person being deleted).
@@ -903,17 +917,17 @@ For all use cases below, the **System** is TAPro and the **Actor** is the user,
### Glossary
-{{ macros.definitionBox('TAPro', 'The name of our product') }}
-{{ macros.definitionBox('Mainstream OS', 'Windows, Linux, Unix, MacOS') }}
+{{ macros.definitionBox('ASCIIbetical Order', 'An ordering where numbers and most punctuations are before letters, and uppercase letters before lowercase letters.') }}
+{{ macros.definitionBox('API', 'Application Programming Interface') }}
+{{ macros.definitionBox('CLI', 'Command Line Interface') }}
{{ macros.definitionBox('CS', 'Computer Science') }}
+{{ macros.definitionBox('GUI', 'Graphical User Interface') }}
+{{ macros.definitionBox('Mainstream OS', 'Windows, Linux, Unix, MacOS') }}
{{ macros.definitionBox('NUS', 'National University of Singapore') }}
-{{ macros.definitionBox('TA', 'Teaching Assistant') }}
{{ macros.definitionBox('NUSNet ID', 'A unique identifier for each student in NUS') }}
-{{ macros.definitionBox('API', 'Application Programming Interface') }}
-{{ macros.definitionBox('CLI', 'Command Line Interface') }}
+{{ macros.definitionBox('TA', 'Teaching Assistant') }}
+{{ macros.definitionBox('TAPro', 'The name of our product') }}
{{ macros.definitionBox('UI', 'User Interface') }}
-{{ macros.definitionBox('GUI', 'Graphical User Interface') }}
-{{ macros.definitionBox('ASCIIbetical Order', 'An ordering where numbers and most punctuations are before letters, and uppercase letters before lowercase letters.') }}
{{ newPage }}
@@ -973,7 +987,6 @@ testers are expected to do more *exploratory* testing.
Expected: The most recent window size and location is retained.
-
{{ newPageBetween }}
### Adding a student
@@ -1016,7 +1029,7 @@ addstu n/Mary Jane p/91234911 e/janemary@example.com nn/E0123457 m/Biology t/fri
shown in the result message panel.
-
+{{ newPageBetween }}
### Editing a student
@@ -1047,7 +1060,6 @@ shown in the status message.
This command differs from most other commands that use the `NUSNET` to identify a student. This command uses the index number shown in the displayed person list to identify the student to be edited.
-
{{ newPageBetween }}
### Deleting a student
@@ -1089,7 +1101,7 @@ delstu E0123456
```
-
+{{ newPageBetween }}
### Finding a student
@@ -1120,7 +1132,6 @@ find
```
-
{{ newPageBetween }}
### Marking a student's attendance
@@ -1167,7 +1178,6 @@ mark E0123456 1
```
-
{{ newPageBetween }}
### Unmarking a student's attendance
@@ -1215,7 +1225,7 @@ unmark E0123456 1
```
-
+{{ newPageBetween }}
### Setting the course name
@@ -1243,7 +1253,6 @@ in upper or lower case, `YYYY` can be any 4-digit number and `Z` is optional.
Expected: TAPro's main window's title contains the course code `CS2103` provided.
-
{{ newPageBetween }}
### Autocompleting fields
@@ -1291,7 +1300,7 @@ edit 1 m/Computer Science
```
-
+{{ newPageBetween }}
### Retrieving previous successful commands
@@ -1324,7 +1333,6 @@ mark nn/E0123456 wk/6
-
{{ newPageBetween }}
### Accessing help
@@ -1345,7 +1353,8 @@ help
Expected: The help window automatically pops up, giving further information about TAPro's commands.
-
+
+{{ newPageBetween }}
### Clearing all data
diff --git a/docs/UserGuide.md b/docs/UserGuide.md
index 9bda4f53da2..bf2e94c754f 100644
--- a/docs/UserGuide.md
+++ b/docs/UserGuide.md
@@ -27,6 +27,7 @@ If you can type fast, TAPro can get your contact management and attendance takin
+
{{ newPage }}
## Navigating this User Guide
@@ -173,6 +174,7 @@ Welcome to the TAPro GUI! 🎉 Here's a quick tour to help you get comfortable w
TODO: Add a screenshot of the GUI with annotations
+{{ newPage }}
## Quick start
@@ -204,7 +206,8 @@ A GUI similar to the below image should appear in a few seconds. Note how the ap
-
+
+{{ newPageBetween }}
5. Type a command in the command input box and press {{ macros.keyFormat('Enter') }} to execute it.
@@ -333,6 +336,8 @@ The quick reference is meant for {{ macros.semiBold('fast and reliable') }} look
The help window is resizable, so you can {{ macros.semiBold('easily reposition and resize') }} it to fit anywhere on your screen, exactly where you want it to be.
+{{ newPageBetween }}
+
@@ -359,15 +364,15 @@ The help window is resizable, so you can {{ macros.semiBold('easily reposition a
Sets the course code in question.
-The course code is shown at the top of TAPro's main window.
-
-Course code must be in the format "XX1234Y", where Y is optional.
-
**Format: `setcrs COURSE_CODE`**
+* The course code is shown at the top of TAPro's main window.
+
+* Course code must be in the format `XX1234Y`, where `Y` is optional.
+
Course codes are case-insensitive.
@@ -376,7 +381,7 @@ Course codes are case-insensitive.
-Course codes must start with a prefix of 2 letters.
+Course code is meant for CS coded courses, hence only a prefix of two letters is allowed.
@@ -386,10 +391,12 @@ Course codes must start with a prefix of 2 letters.
* `setcrs cs2103t`
-* `setcrs ST2334`
+* `setcrs CS2030`
+{{ newPageBetween }}
+
**Screenshots of using the `setcrs` command:**
@@ -397,6 +404,7 @@ Course codes must start with a prefix of 2 letters.
#g#Before running `setcrs` command:##
+
#g#After running `setcrs` command:##
@@ -461,15 +469,18 @@ A student can have any number of tags, including 0.
`bestFriend4Ever`, `colleague`, `Club` are valid tags, but `best friend`, `best-friend` are not valid tags.
+
**Adding multiple majors:**
If a student is undertaking a double degree programme, you can use a comma to separate the disciplines in the `MAJOR` field.
-
#g#Example:## We can use `m/Computer Science, Mathematics` to indicate that a student has these two majors, Computer Science and Mathematics.
+
+
+{{ newPageBetween }}
@@ -490,6 +501,7 @@ If a student is undertaking a double degree programme, you can use a comma to se
#g#Before running `addstu` command:##
+
#g#After running `addstu` command:##
@@ -508,7 +520,7 @@ Shows a list of all persons in the contact book.
**Format: `list`**
-Additional arguments after `list` will be simply ignored.
+* Additional arguments after `list` will be simply ignored.
@@ -517,6 +529,7 @@ Additional arguments after `list` will be simply ignored.
#g#Before running `list` command:##
+
#g#After running `list` command:##
@@ -571,6 +584,8 @@ Otherwise, TAPro will parse the input as adding multiple tags, which may lead to
* `edit 2 n/Betsy Crower t/` Edits the name of the second student to be `Betsy Crower` and clears all existing tags.
+{{ newPageBetween }}
+
**Screenshots of using the `edit` command:**
@@ -578,6 +593,7 @@ Otherwise, TAPro will parse the input as adding multiple tags, which may lead to
#g#Before running `edit` command:##
+
#g#After running `edit` command:##
@@ -674,6 +690,8 @@ Both `KEYWORD` and `[MORE_KEYWORDS]…` accept alphanumeric and special symbo
+{{ newPageBetween }}
+
**Screenshots of using the `find` command:**
@@ -681,6 +699,7 @@ Both `KEYWORD` and `[MORE_KEYWORDS]…` accept alphanumeric and special symbo
#g#Before running `find` command:##
+
#g#After running `find` command:##
@@ -713,6 +732,7 @@ Marks a student's attendance for a particular week.
#g#Before running `mark` command:##
+
#g#After running `mark` command:##
@@ -744,6 +764,7 @@ Unmarks a student's attendance for a particular week.
#g#Before running `unmark` command:##
+
#g#After running `unmark` command:##
@@ -776,6 +797,8 @@ Deletes the specified student from the contact book.
If you cannot remember your student's NUSNet ID, you could use `find Betsy` or `list` followed by `delstu nn/` to find and delete the student.
+{{ newPageBetween }}
+
**Screenshots of using the `delstu` command:**
@@ -783,6 +806,7 @@ If you cannot remember your student's NUSNet ID, you could use `find Betsy` or `
#g#Before running `delstu` command:##
+
#g#After running `delstu` command:##
@@ -808,6 +832,7 @@ Clears all entries from the contact book.
#g#Before running `clear` command:##
+
#g#After running `clear` command:##
@@ -844,7 +869,7 @@ The autocomplete feature autocompletes a parameter or command, based on the curr
{{ macros.definitionBox('Autocompletion', 'The autocomplete feature\'s suggested result(s).') }}
-We can autocomplete both command names and parameters after their prefixes by pressing {{ macros.keyFormat('Tab') }}, when an autocompletion is available.
+* We can autocomplete both command names and parameters after their prefixes by pressing {{ macros.keyFormat('Tab') }}, when an autocompletion is available.
@@ -1077,6 +1102,8 @@ If you [edit the data file](#editing-the-data-file) into an invalid format, upon
## FAQ
+
+
### Transfering Data to Another Computer
@@ -1086,6 +1113,8 @@ If you [edit the data file](#editing-the-data-file) into an invalid format, upon
your current computer! Click `Yes` if are prompted to replace the existing `data` folder in your target computer.
+{{ newPageBetween }}
+
### Loading Data from Another Computer
@@ -1096,6 +1125,8 @@ with the `data` folder from your otehr computer. Paste it in the same directory
target computer.
+{{ newPageBetween }}
+
### Launching TAPro
@@ -1139,6 +1170,8 @@ target computer.
4. Double-click on the script to launch TAPro.
+{{ newPageBetween }}
+
### Checking Java Version
@@ -1147,6 +1180,8 @@ target computer.
**A**: Open a command line and type `java -version`. If the command is not recognized, it means you do not have Java installed. You can install Java 11 using the Oracle guide [here](https://www.oracle.com/java/technologies/downloads/#java11). Alternatively, you can install the OpenJDK version. For macOS users, you may wish to follow the instructions [here](https://nus-cs2103-ay2324s1.github.io/website/admin/programmingLanguages.html).
+{{ newPageBetween }}
+
### Using TAPro
@@ -1220,6 +1255,7 @@ Adding new tag(s) will replace the existing tag(s).
+{{ newPageBetween }}
### Saving More Time