diff --git a/docs/UserGuide.md b/docs/UserGuide.md index fbda1226fbc..8ff84b8e66f 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -1,102 +1,17 @@ -![Serenity Logo](images/logo.png) - -By: `Team Serenity` Since: `Aug 2020` - -[1. Introduction](#1-introduction) - -[2. Quick start](#2-quick-start) - -[3. About](#3-about) - -   [3.1. Structure of this document](#31-structure-of-this-document) - -   [3.2. Reading this document](#32-reading-this-document) - -      [3.2.1. Terminology related to the _GUI_](#321-terminology-related-to-the-_gui_) - -      [3.2.2. General symbols and syntax](#322-general-symbols-and-syntax) - -      [3.2.3. Command syntax and usage](#323-command-syntax-and-usage) - -      [3.2.4. Command format](#324-command-format) - -[4. Features](#4-features) - -   [4.1. Getting started](#41-setup) - -      [4.1.1. Add a new tutorial group from XLSX file: `addgrp`](#411-add-a-new-tutorial-group-from-xlsx-file-addgrp) - -      [4.1.2. Delete an existing tutorial group: `delgrp`](#412-delete-an-existing-tutorial-group-delgrp) - -      [4.1.3. Add a new tutorial lesson: `addlsn`](#413-add-a-new-tutorial-lesson-addlsn) - -      [4.1.4. Delete an existing tutorial lesson: `dellsn`](#414-delete-an-existing-tutorial-lesson-dellsn) - -      [4.1.5. Add a new student: `addstudent`](#415-add-a-new-student-addstudent) - -      [4.1.6. Delete an existing student: `delstudent`](#416-delete-an-existing-student-delstudent) - -   [4.2. Attendance taking](#42-attendance-taking) - -      [4.2.1. Mark all students as present: `markpresent`](#421-mark-all-students-as-present-markpresent-all) - -      [4.2.2. Mark a student as absent: `markabsent`](#422-mark-a-student-as-absent-markabsent) - -      [4.2.3 Mark a student as present: `markpresent all`](#423-mark-a-student-as-present-markpresent) - -      [4.2.4 Mark all students as absent: `markabsent all`](#424-mark-all-students-as-absent-markabsent-all) - -      [4.2.5. Flag attendance of a student: `flagatt`](#425-flag-attendance-of-a-student-flagatt) - -      [4.2.6. Unflag attendance of a student: `unflagatt`](#426-unflag-attendance-of-a-student-unflagatt) - -      [4.2.7. Export attendance as CSV file: `exportatt`](#427-export-attendance-as-csv-file-exportatt) - -   [4.3. Participation marking](#43-participation-marking) +--- +layout: page +title: User guide +--- -      [4.3.1. Set participation score of a student: `setscore`](#431-set-participation-score-of-a-student-setscore) +* Table of Contents +{:toc} -      [4.3.2. Add participation score of a student: `addscore`](#432-add-participation-score-of-a-student-addscore) - -      [4.3.3. Subtract participation score of a student: `subscore`](#433-subtract-participation-score-of-a-student-subscore) - -      [4.3.4. Export participation scores as XLSX file: `exportscore`](#434-export-participation-scores-as-xlsx-file-exportscore) - -   [4.4. Question addressing](#44-question-addressing) - -      [4.4.1. Add a new question: `addqn`](#441-add-a-new-question-addqn) - -      [4.4.2. Delete an existing question: `delqn`](#442-delete-an-existing-question-delqn) - -   [4.5. Utility viewing](#45-utility-viewing) - -      [4.5.1. View an existing tutorial group: `viewgrp`](#451-view-an-existing-tutorial-group-viewgrp) - -      [4.5.2. View an existing tutorial lesson: `viewlsn`](#452-view-an-existing-tutorial-lesson-viewlsn) - -      [4.5.3. View attendance sheet of a tutorial group: `viewatt`](#452-view-an-existing-tutorial-lesson-viewlsn) - -      [4.5.4. View participation score sheet of a tutorial group: `viewscore`](#452-view-an-existing-tutorial-lesson-viewlsn) - -      [4.5.5. View all questions: `viewqn`](#452-view-an-existing-tutorial-lesson-viewlsn) - -[5. FAQ](#5-faq) - -[6. Command summary](#6-command-summary) - -   [6.1. Setup commands](#61-setup-commands) - -   [6.2. Attendance taking commands](#62-attendance-taking-commands) - -   [6.3. Participation marking commands](#63-participation-marking-commands) - -   [6.4. Question addressing commands](#64-question-addressing-commands) - -   [6.5. Utlity viewing commands](#65-utility-viewing-commands) -------------------------------------------------------------------------------------------------------------------- +![Serenity Logo](images/logo.png) -

1. Introduction

+ +## **1. Introduction** Welcome to the User Guide of **Serenity**! @@ -105,22 +20,22 @@ on many different excel sheets for different lessons? Do you also tend to forget during lessons? Fret not, our application, **Serenity**, will help keep you sane when managing tutorial groups. **Serenity** is a desktop application that helps CS2101 tutors manage their lessons. This application is optimized -for use through a _Command Line Interface (CLI)_, meaning that you operate the application by typing commands into a -command box. This application also has a _Graphical User Interface (GUI)_, where you can interact with the application -through graphical icons such as buttons. +for use through a Command Line Interface (CLI), meaning that you operate the application by typing commands into a +command box. This application also has a Graphical User Interface (GUI), +where you can interact with the application through graphical icons such as buttons. This user guide serves to provide you with an in-depth documentation on how to set up and use our application. With that said, let's get [started](#2-quick-start)! -------------------------------------------------------------------------------------------------------------------- -

2. Quick start

+## **2. Quick start** To get started with using **Serenity**, you can follow these steps: 1. Ensure you have Java `11` or above installed in your Computer. -2. Download the latest `Serenity.jar` from [here](). +2. Download the latest `Serenity.jar` from [here](https://github.com/AY2021S1-CS2103T-W12-4/tp/releases). 3. Copy the file to the folder you want to use as the home folder for your **Serenity** application. @@ -133,10 +48,9 @@ To get started with using **Serenity**, you can follow these steps: 6. Refer to the [Features](#4-features) below for details of each command. -------------------------------------------------------------------------------------------------------------------- +## **3. About** -

3. About

- -

3.1. Structure of this document

+### 3.1. Structure of this document This User Guide have been structured such that you can easily find what you need. @@ -150,19 +64,19 @@ In [section 4](#4-features), you can find details of the three main features of * Question addressing -

3.2. Reading this document

+### 3.2. Reading this document In this subsection, you can find the explanation of the technical terms, symbols and syntax that are used in this User Guide. -

3.2.1. Terminology related to the GUI

+#### 3.2.1. Terminology related to the _GUI_ The following figure shows the _GUI_ of **Serenity**. It is annotated with the name of the _GUI_ components. ![Ui](images/Ui_annotated.png) -

3.2.2. General symbols and syntax

+#### 3.2.2. General symbols and syntax The table below explains the general symbols and syntax used throughout the document. @@ -170,11 +84,11 @@ Symbol/syntax | Meaning --------|------------------ `command` | This indicates a technical term, which you can find out more in [Command syntax and usage](#323-command-syntax-and-usage). _GUI_ | This indicates a graphical component, such as a button, layout format and text input box. -ℹ | This indicates a note. -💡 | This indicates a tip. -⚠ | This indicates a warning. +:memo: | This indicates a note. +:bulb: | This indicates a tip. +:warning: | This indicates a warning. -

3.2.3. Command syntax and usage

+#### 3.2.3. Command syntax and usage The table below explains some important technical terms. @@ -186,7 +100,7 @@ Parameter | The word or phrase following the command word that provides further Prefix | The letter that is placed at the start of each parameter to distinguish one parameter from another. XLSX | File format for all excel files. -

3.2.4. Command format

+#### 3.2.4. Command format You can use commands to tell **Serenity** to perform a specific task. @@ -194,7 +108,7 @@ You can use commands to tell **Serenity** to perform a specific task. `COMMAND_WORD prefix/PARAMETER` -> ℹ **Notes regarding the command format:** +> :memo: **Notes regarding the command format:** >* Words in upper case are the parameters to be supplied by you.
e.g. in `viewgrp grp/GROUP_NAME`, `GROUP_NAME` is a parameter which can be used as `viewgrp grp/G04` >* Parameters have to be in the specified order.
e.g. if the command specifies `grp/GROUP_NAME lsn/LESSON_NAME`, `lsn/LESSON_NAME grp/GROUP_NAME` is not acceptable. @@ -216,7 +130,7 @@ Analysis: -------------------------------------------------------------------------------------------------------------------- -

4. Features

+## **4. Features** This section contains all the information you need to know about the features of **Serenity**. To use each feature or sub-feature, you will need to enter the command into the _Command Box_. @@ -227,16 +141,16 @@ Below is an overview of the features availablie in **Serenity** : 3. [Participation marking](#43-participation-marking) feature provides you the tools to grade student participation. 4. [Question addressing](#44-question-addressing) feature provides you the tools to keep track of questions asked by students. -

4.1. Setting Up

+### 4.1. Setting Up It is the start of the semester! Brand new classes, brand new students and a whole new experience. Follow the instructions below to set up your new classes, and watch **Serenity** do the magic for you. -

4.1.1. Add a new tutorial group from XLSX file: addgrp

+#### 4.1.1. Add a new tutorial group from XLSX file: `addgrp` You can use this command to add a new tutorial group automatically from XLSX data. -> ℹ **Notes regarding the `addgrp` command:** +> :memo: **Notes regarding the `addgrp` command:** > * The XLSX file should store a list of students. > * The format of the XLSX file should be the same as the XLSX file that you may download from LUMINUS. > * To obtain PATH_TO_XLSX, either:
@@ -265,7 +179,7 @@ Outcome: 2. **Serenity** will switch to tutorial group `G04` page. 3. You can now see the list of students and a default list of tutorial lessons for tutorial group `G04`. -

4.1.2. Delete an existing tutorial group: delgrp

+#### 4.1.2. Delete an existing tutorial group: `delgrp` You can use this command to delete an existing tutorial group. @@ -288,7 +202,7 @@ Outcome: 2. **Serenity** will exit tutorial group `G04` page. 3. You can now see that tutorial group `G04` no longer exists. -

4.1.3. Add a new tutorial lesson: addlsn

+#### 4.1.3. Add a new tutorial lesson: `addlsn` You can use this command to add a new tutorial lesson for a specified tutorial group. @@ -311,7 +225,7 @@ Outcome: 2. **Serenity** will display tutorial lesson `1-2` page. 3. You can now see that tutorial lesson `1-2` has been added to tutorial group `G04`. -

4.1.4. Delete an existing tutorial lesson: dellsn

+#### 4.1.4. Delete an existing tutorial lesson: `dellsn` You can use this command to delete an existing lesson from a specified tutorial group. @@ -334,7 +248,7 @@ Outcome: 2. **Serenity** will exit tutorial lesson `1-3` page and enter tutorial group `G04` page. 3. You can now see that tutorial lesson `1-3` no longer exists. -

4.1.5. Add a new student: addstudent

+#### 4.1.5. Add a new student: `addstudent` You can use this command to add a new student to a tutorial group. @@ -357,7 +271,7 @@ Outcome: 1. The _Result Display_ will show a success message. 2. `Aaron Tan` will be added to the list of students in tutorial group `G04`. -

4.1.6. Delete an existing student: delstudent

+#### 4.1.6. Delete an existing student: `delstudent` You can use this command to delete an existing student from a tutorial group. @@ -388,16 +302,16 @@ Outcome: 1. The _Result Display_ will show a success message. 2. `Aaron Tan` will no longer be in the list of students in tutorial group `G04`. -

4.2. Attendance taking

+### 4.2. Attendance taking Need to mark attendance of your students at the start of each lesson quickly? This feature allows you to mark attendance of students easily. -

4.2.1. Mark all students as present: markpresent all

+#### 4.2.1. Mark all students as present: `markpresent all` You can use this command to mark all students in a tutorial group as present for a tutorial lesson. -> 💡 **Tip for the `markpresent all` command:** +> :bulb: **Tip for the `markpresent all` command:** > You can conveniently mark all students as present at once in the beginning of the tutorial lesson, > then mark some students as absent afterwards. You can then start your tutorial lesson without much hassle. @@ -412,7 +326,7 @@ All students in group `G04` are present for your tutorial lesson `1-2` of tutori Marking all students in a tutorial group as present for a tutorial lesson: To mark all of them present at once: -1. Navigate to view group `G04` lesson `1-2` via [`viewlsn`](#452-view-an-existing-tutorial-lesson-viewlsn) command. +1. Navigate to view group `G04` lesson `1-2` via [`viewlsn`](#452-view-a-tutorial-lesson-viewlsn) command. 2. Type `markpresent all` into the *Command Box*. 3. Press `Enter` to execute. @@ -423,7 +337,7 @@ Outcome: ![Figure 4.2.1. Outcome of a successful mark all students present command](images/ui/markpresent_all.png) -

4.2.2. Mark a student as present: markpresent

+#### 4.2.2. Mark a student as present: `markpresent` You can use this command to mark a specific student as present for a tutorial lesson. @@ -440,7 +354,7 @@ A student named `Aaron Tan` with student number `A0123456U` is present for your Marking a student as present for a tutorial lesson by `name` and `student number`: To mark him present: -1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-an-existing-tutorial-lesson-viewlsn) command. +1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-a-tutorial-lesson-viewlsn) command. 2. Type `markpresent name/AARON TAN matric/A0123456U` into the *Command Box*. 3. Press `Enter` to execute. @@ -448,7 +362,7 @@ To mark him present: Marking a student as present for a tutorial lesson by `index` number: To mark him present: -1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-an-existing-tutorial-lesson-viewlsn) command. +1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-a-tutorial-lesson-viewlsn) command. 2. Type `markpresent 1` into the *Command Box*. 3. Press `Enter` to execute. @@ -459,7 +373,7 @@ Outcome: ![Figure X. Outcome of a successful mark a student present command](images/ui/markpresent_student.png) -

4.2.2. Mark a student as absent: markabsent

+#### 4.2.2. Mark a student as absent: `markabsent` You can use this command to mark a specific student as absent for a tutorial lesson. @@ -475,14 +389,14 @@ A student named `Aaron Tan` with student number `A0123456U` is absent for your t Method 1
Marking a student as absent for a tutorial lesson by `name` and `student number`: -1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-an-existing-tutorial-lesson-viewlsn) command. +1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-a-tutorial-lesson-viewlsn) command. 2. Type `markabsent name/AARON TAN matric/A0123456U` into the *Command Box*. 3. Press `Enter` to execute. Method 2
Marking a student as absent for a tutorial lesson by `index` number: -1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-an-existing-tutorial-lesson-viewlsn) command. +1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-a-tutorial-lesson-viewlsn) command. 2. Type `markabsent 1` into the *Command Box*. 3. Press `Enter` to execute. @@ -493,7 +407,7 @@ Outcome: ![Figure X. Outcome of a successful mark a student absent command](images/ui/markabsent_student.png) -

4.2.3. Mark all students as absent: markabsent all

+#### 4.2.3. Mark all students as absent: `markabsent all` Accidentally marked all the students as present and want to make them back absent? You can use this command to mark all students in a tutorial group back as absent for a tutorial lesson. @@ -507,7 +421,7 @@ All students in group `G04` are present for your tutorial lesson `1-2` of tutori Marking all students in a tutorial group as absent for a tutorial lesson: -1. Navigate to view group `G04` lesson `1-2` via [`viewlsn`](#452-view-an-existing-tutorial-lesson-viewlsn) command. +1. Navigate to view group `G04` lesson `1-2` via [`viewlsn`](#452-view-a-tutorial-lesson-viewlsn) command. 2. Type `markabsent all` into the *Command Box*. 3. Press `Enter` to execute. @@ -516,7 +430,7 @@ Outcome: 1. The _Result Display_ will show a success message. 2. You can now see that all the students' attendance have been updated on the _Student Information Panel_. -

4.2.4. Flag attendance of a student: flagatt

+#### 4.2.4. Flag attendance of a student: `flagatt` You can use this command to flag attendance of a specific student so you can remember to check the student's attendance at the end of class. @@ -534,14 +448,14 @@ other tutor later on. `Aaron Tan` is the first person on the student list so his Method 1
Flagging a student's attendance for a tutorial lesson by his `name` and `student number`: -1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-an-existing-tutorial-lesson-viewlsn) command. +1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-a-tutorial-lesson-viewlsn) command. 2. Type `flagatt name/AARON TAN matric/A0123456U` into the _Command Box_. 3. Press `Enter` to execute. Method 2
Flagging a student's attendance for a tutorial lesson by his `index` number: -1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-an-existing-tutorial-lesson-viewlsn) command. +1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-a-tutorial-lesson-viewlsn) command. 2. Type `flagatt 1` into the _Command Box_. 3. Press `Enter` to execute. @@ -550,7 +464,7 @@ Outcome: 1. The _Result Display_ will show a success message. 2. His attendance will now be flagged for future follow-up actions. -

4.2.4. Unflag attendance of a student: unflagatt

+#### 4.2.4. Unflag attendance of a student: `unflagatt` You can use this command to unflag attendance of a specific student that was flagged after you have checked whether the student attended a replacement class. @@ -569,14 +483,14 @@ so his `index` number is 1. Method 1
Unflagging a student's attendance for a tutorial lesson by his `name` and `student number`: -1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-an-existing-tutorial-lesson-viewlsn) command. +1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-a-tutorial-lesson-viewlsn) command. 2. Type `unflagatt name/AARON TAN matric/A0123456U` into the _Command Box_. 3. Press `Enter` to execute. Method 2
Unflagging a student's attendance for a tutorial lesson by his `index` number: -1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-an-existing-tutorial-lesson-viewlsn) command. +1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-a-tutorial-lesson-viewlsn) command. 2. Type `unflagatt 1` into the _Command Box_. 3. Press `Enter` to execute. @@ -585,15 +499,15 @@ Outcome: 1. The _Result Display_ will show a success message. 2. His attendance will now be unflagged. -

4.2.5. Export attendance as XLSX file: exportatt

+#### 4.2.5. Export attendance as XLSX file: `exportatt` You can use this command to export the attendance sheet of a specific tutorial group as a XLSX file. -> 💡 **Tip for the `exportatt` command:** +> :bulb: **Tip for the `exportatt` command:** > You can conveniently obtain the soft copy version of the attendance sheet for > attendance list submission as part of NUS Centre for English Language Communication requirements. -> ℹ **Note regarding the `exportatt` command:** +> :memo: **Note regarding the `exportatt` command:** > The attendance sheet will be saved as a XLSX file named after the tutorial group. > The file will be saved at the same folder as your **Serenity** application. @@ -614,12 +528,12 @@ Outcome: 2. The attendance sheet of tutorial group `G04` will be saved as `G04_attendance.xlsx`. You can find the XLSX file at the location where your **Serenity** application is located. -

4.3. Participation marking

+### 4.3. Participation marking Need to keep track of all your students' participation during lessons quickly? This feature allows you to key in a student's participation score easily with a scale for reference. -

4.3.1. Award participation score for a student: setscore

+#### 4.3.1. Award participation score for a student: `setscore` You can use this command to add the participation score for a specific student in a tutorial lesson. @@ -643,14 +557,14 @@ the student list so his `index` number is 1. Method 1
Set participation score of a student in a tutorial lesson by `name` and `student number`: -1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-an-existing-tutorial-lesson-viewlsn) command. +1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-a-tutorial-lesson-viewlsn) command. 2. Type `setscore name/AARON TAN matric/A0123456U score/3` into the *Command Box*. 3. Press `Enter` to execute. Method 2
Set participation score of a student in a tutorial lesson by `index` number: -1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-an-existing-tutorial-lesson-viewlsn) command. +1. Navigate to view group G04 lesson 1-2 via [`viewlsn`](#452-view-a-tutorial-lesson-viewlsn) command. 2. Type `setscore 1 score/3` into the *Command Box*. 3. Press `Enter` to execute. @@ -659,11 +573,11 @@ Outcome: 1. The _Result Display_ will show a success message. 2. You can now see that his score has been updated on the _Student Information Panel_. -

4.3.2. Add participation score of a student: addscore

+#### 4.3.2. Add participation score of a student: `addscore` You can use this command to increase the participation score of a specific student for a tutorial lesson. -> ⚠ **Warning regarding the `addscore` command:** +> :warning: **Warning regarding the `addscore` command:** > You cannot increase the participation score of a student such that the final score is more than 5. > The maximum score is 5 @@ -681,14 +595,14 @@ is the first person on the student list so his `index` number is 1. Method 1
Adding participation score of a student in a tutorial lesson by `name` and `student number`: -1. Navigate to view tutorial lesson `1-2` of tutorial group `G04` via ![`viewlsn`](#452-view-an-existing-tutorial-lesson-viewlsn) command. +1. Navigate to view tutorial lesson `1-2` of tutorial group `G04` via [`viewlsn`](#452-view-a-tutorial-lesson-viewlsn) command. 2. Type `addscore name/AARON TAN matric/A0123456U add/1` into the _Command Box_. 3. Press `Enter` to execute. Method 2
Adding participation score of a student in a tutorial lesson by `index`number: -1. Navigate to view tutorial lesson `1-2` of tutorial group `G04` via ![`viewlsn`](#452-view-an-existing-tutorial-lesson-viewlsn) command. +1. Navigate to view tutorial lesson `1-2` of tutorial group `G04` via [`viewlsn`](#452-view-a-tutorial-lesson-viewlsn) command. 2. Type `addscore 1 add/1` into the _Command Box_. 3. Press `Enter` to execute. @@ -697,11 +611,11 @@ Outcome: 1. The _Result Display_ will show a success message. 2. You can now see that his score has been updated on the _Student Information Panel_. -

4.3.2. Subtract participation score of a student: subscore

+#### 4.3.2. Subtract participation score of a student: `subscore` You can use this command to decrease the participation score of a specific student for a tutorial lesson. -> ⚠ **Warning regarding the `subscore` command:** +> :warning: **Warning regarding the `subscore` command:** > You cannot decrease the participation score of a student such that the final score is less than 0. > The maximum score you can subtract is 5. @@ -720,14 +634,14 @@ is the first person on the student list so his `index` number is 1. Method 1
Subtracting participation score of a student in a tutorial lesson by `name` and `student number`: -1. Navigate to view tutorial lesson `1-2` of tutorial group `G04` via ![`viewlsn`](#452-view-an-existing-tutorial-lesson-viewlsn) command. +1. Navigate to view tutorial lesson `1-2` of tutorial group `G04` via [`viewlsn`](#452-view-a-tutorial-lesson-viewlsn) command. 2. Type `subscore name/AARON TAN matric/A0123456U sub/1` into the _Command Box_. 3. Press `Enter` to execute. Method 2
Subtracting participation score of a student in a tutorial lesson: -1. Navigate to view tutorial lesson `1-2` of tutorial group `G04` via ![`viewlsn`](#452-view-an-existing-tutorial-lesson-viewlsn) command. +1. Navigate to view tutorial lesson `1-2` of tutorial group `G04` via [`viewlsn`](#452-view-a-tutorial-lesson-viewlsn) command. 2. Type `subscore 1 sub/1` into the _Command Box_. 3. Press `Enter` to execute. @@ -736,11 +650,11 @@ Outcome: 1. The _Result Display_ will show a success message. 2. You can now see that his score has been updated on the _Student Information Panel_. -

4.3.3. Export participation scores as XLSX file: exportscore`

+#### 4.3.3. Export participation scores as XLSX file: `exportscore` You can use this command to export the participation score sheet of a specific tutorial group as a XLSX file. -> ℹ **Note regarding the `exportscore` command:** +> :memo: **Note regarding the `exportscore` command:** > The participation score sheet will be saved as a XLSX file named after the tutorial group. > The file will be saved at the same folder as your **Serenity** application. @@ -764,12 +678,12 @@ Outcome: 2. The participation score sheet of tutorial group `G04` will be saved as `G04_participation.xlsx`. You can find the XLSX file at the location where your **Serenity** application is located. -

4.4. Question addressing

+### 4.4. Question addressing Need to keep track of all your students' questions during lessons quickly? This feature allows you to key in questions easily for future reference. -

4.4.1. Add a new question: addqn

+#### 4.4.1. Add a new question: `addqn` You can use this command to add a question that was asked in a tutorial lesson, so that you can address the question in the future. @@ -794,7 +708,7 @@ Outcome: 1. The _Result Display_ will show a success message. 2. The question will be added to the list of questions. -

4.4.2. Delete an existing question: delqn

+#### 4.4.2. Delete an existing question: `delqn` You can use this command to delete a question after addressing it. @@ -817,11 +731,11 @@ Outcome: 1. The _Result Display_ will show a success message. 2. The question will be deleted from the list of questions. -

4.5 Utility viewing

+### 4.5 Utility viewing The following commands allow you to navigate between different views. -

4.5.1. View a tutorial group: viewgrp

+#### 4.5.1. View a tutorial group: `viewgrp` You can use this command to view the list of students and tutorial lessons of a tutorial group. You will also be able to execute tutorial group-related commands. @@ -844,7 +758,7 @@ Outcome: 1. The _Result Display_ will show a success message. 2. The _Data Display_ will update and display the information for tutorial group `G04`. -

4.5.2. View a tutorial lesson: viewlsn

+#### 4.5.2. View a tutorial lesson: `viewlsn` You can use this command to view and modify the attendance and participation scores of a tutorial lesson. You will also be able to execute tutorial lesson-related commands. @@ -867,12 +781,12 @@ Outcome: 1. The _Result Display_ will show a success message. 2. The _Data Display_ will update and display the students' information for tutorial lesson `1-2` of tutorial group `G04`. -

4.5.3. View attendance sheet of a tutorial group: viewatt

+#### 4.5.3. View attendance sheet of a tutorial group: `viewatt` You can use this command to view the attendance sheet of the students in a tutorial group across all tutorial lessons. The attendance sheet will be displayed in table form. -> ℹ **Note regarding the `viewatt` command:** +> :memo: **Note regarding the `viewatt` command:** > You can view the attendance of all your students in the tutorial group at one glance. > You can also preview the XLSX file that you can generate with the `exportatt` command, > before generating the actual XLSX file. @@ -895,7 +809,7 @@ Outcome: 1. The _Result Display_ will show a success message. 2. The _Data Display_ will update and display the attendance sheet of tutorial group `G04`. -

4.5.4. View participation score sheet of a tutorial group: viewscore

+#### 4.5.4. View participation score sheet of a tutorial group: `viewscore` You can use this command to view the participation score sheet of the students in a tutorial group across all tutorial lessons. The participation score sheet will be displayed in table form. @@ -924,7 +838,7 @@ Outcome: 1. The _Result Display_ will show a success message. 2. The _Data Display_ will update and display the participation score sheet of tutorial group `G04`. -

4.5.5. View all pending questions: viewqn

+#### 4.5.5. View all pending questions: `viewqn` You can use this command to view all questions that have yet to be addressed. @@ -948,7 +862,7 @@ Outcome: -------------------------------------------------------------------------------------------------------------------- -

5. FAQ

+## **5. FAQ** **Q:** How many tutorial groups can I manage in **Serenity**? @@ -962,9 +876,9 @@ your **Serenity** application on your other computer. **Serenity** will automati -------------------------------------------------------------------------------------------------------------------- -

6. Command summary

+## **6. Command summary** -

6.1. Setup commands

+### 6.1. Setup commands Command | Example ------------ | ------------- @@ -975,7 +889,7 @@ Command | Example **Add student**
`addstudent grp/GROUP_NAME name/NAME matric/STUDENT_NUMBER` |
`addstudent grp/G04 name/AARON TAN matric/A0123456U` **Delete student**
- `delstudent grp/GROUP_NAME name/NAME matric/STUDENT_NUMBER`
- `delstudent INDEX grp/GROUP` |
- `delstudent grp/G04 name/AARON TAN matric/A0123456U`
- `delstudent 1 grp/G04` -

6.2. Attendance taking commands

+### 6.2. Attendance taking commands Command | Example ------------ | ------------- @@ -987,7 +901,7 @@ Command | Example **Unflag attendance**
- `unflagatt name/NAME matric/STUDENT_NUMBER`
- `unflagatt INDEX` |
- `unflagatt name/AARON TAN matric/A0123456U`
- `unflagatt 1` **Export attendance**
`exportatt grp/GROUP_NAME` | `exportatt grp/G04` -

6.3. Participation marking commands

+### 6.3. Participation marking commands Command | Example ------------ | ------------- @@ -997,14 +911,14 @@ Command | Example **Export participation scores**
`exportscore grp/GROUP_NAME` |
`exportscore grp/G07` -

6.4. Question addressing commands

+### 6.4. Question addressing commands Command | Example ------------ | ------------- **Add question**
`addqn qn/QUESTION` | `addqn qn/What is the deadline for the report?` **Delete question**
`delqn INDEX` | `delqn 5` -

6.5. Utility viewing commands

+### 6.5. Utility viewing commands Command | Example ------------ | ------------- diff --git a/src/main/java/team/serenity/storage/JsonAdaptedGroup.java b/src/main/java/team/serenity/storage/JsonAdaptedGroup.java index db7d3284291..c724f5b3fe9 100644 --- a/src/main/java/team/serenity/storage/JsonAdaptedGroup.java +++ b/src/main/java/team/serenity/storage/JsonAdaptedGroup.java @@ -77,6 +77,7 @@ public Group toModelType() throws IllegalValueException { final List groupStudents = new ArrayList<>(); for (JsonAdaptedStudent student : this.students) { + Student studentModel = student.toModelType(); groupStudents.add(student.toModelType()); } diff --git a/src/main/java/team/serenity/storage/JsonSerenityStorage.java b/src/main/java/team/serenity/storage/JsonSerenityStorage.java index 58d7c82b41c..61b8ebec65e 100644 --- a/src/main/java/team/serenity/storage/JsonSerenityStorage.java +++ b/src/main/java/team/serenity/storage/JsonSerenityStorage.java @@ -16,6 +16,7 @@ import team.serenity.model.group.Group; import team.serenity.model.group.exceptions.DuplicateException; import team.serenity.model.managers.ReadOnlySerenity; +import team.serenity.model.managers.Serenity; /** @@ -57,7 +58,8 @@ public Optional readSerenity(Path filePath) } try { - return Optional.of(jsonSerenity.get().toModelType()); + Serenity fromData = jsonSerenity.get().toModelType(); + return Optional.of(fromData); } catch (DuplicateException ive) { logger.info("Illegal values found in " + filePath + ": " + ive.getMessage()); throw new DataConversionException(ive); diff --git a/src/test/java/team/serenity/model/group/student/StudentTest.java b/src/test/java/team/serenity/model/group/student/StudentTest.java index b29770629e7..6411c961162 100644 --- a/src/test/java/team/serenity/model/group/student/StudentTest.java +++ b/src/test/java/team/serenity/model/group/student/StudentTest.java @@ -19,7 +19,6 @@ public void constructor_invalidName_throwsIllegalArgumentException() { assertThrows(IllegalArgumentException.class, () -> new Student("", "E1234567")); } - @Test public void constructor_invalidStudentNumber_throwsIllegalArgumentException() { assertThrows(IllegalArgumentException.class, () -> new Student("John", "A012334444333"));