diff --git a/docs/Configuration.md b/docs/Configuration.md index 2860d618e2d..825d9ddb29a 100644 --- a/docs/Configuration.md +++ b/docs/Configuration.md @@ -3,6 +3,4 @@ title: "Configuration guide" --- -# Configuration guide - Certain properties of the application can be controlled (e.g user preferences file location, logging level) through the configuration file (default: `config.json`). diff --git a/docs/DevOps.md b/docs/DevOps.md index fe7ae935c58..397ccd33cdc 100644 --- a/docs/DevOps.md +++ b/docs/DevOps.md @@ -4,11 +4,6 @@ pageNav: 3 --- -# DevOps guide - - - - ## Build automation diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index b73b71f2254..3cf96d46a40 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -218,6 +218,9 @@ non-duplicate course to the existing course list. The following sequence diagram shows how the `add` mechanism in the home page works: ![AddCourseSequenceDiagram](images/AddCourseSequenceDiagram.png) +The following activity diagram summaries what happens when a user executes the `add` command: +![AddCourseActivityDiagram](images/AddCourseActivityDiagram.png) + ### Edit a course #### About the edit course feature @@ -252,6 +255,9 @@ a course as long as the new course name is not a duplicate in the existing cours The following sequence diagram shows how the `edit` mechanism in the home page works: ![EditCourseSequenceDiagram](images/EditCourseSequenceDiagram.png) +The following activity diagram summarises what happens when a user executes the `edit` command: +![EditCourseActivityDiagram](images/EditCourseActivityDiagram.png) + ### Delete a course #### About the delete course feature @@ -281,6 +287,9 @@ a course as long as the index is valid. The following sequence diagram shows how the `delete` mechanism in the home page works: ![DeleteCourseSequenceDiagram](images/DeleteCourseSequenceDiagram.png) +The following activity diagram summarises what happens when a user executes the `delete` command: +![DeleteCourseActivityDiagram](images/DeleteCourseActivityDiagram.png) + -------------------------------------------------------------------------------------------------------------------- ## **Implementation of Course Commands** @@ -334,11 +343,9 @@ The sort mechanism is facilitated mainly by the `SortCommand`, `SortCommandParse 2. The GUI is updated following the changes in the student list and the display of the student list is updated accordingly. Below is a sequence diagram that shows how the `sort` mechanism works: - ![SortCommandSequenceDiagram](images/SortCommandSequenceDiagram.png) The following activity diagram summaries what happens when a user executes the `sort` command: - ![SortCommandActivityDiagram](images/SortCommandActivityDiagram.png) #### Design considerations @@ -398,10 +405,9 @@ If the conditions are not met, a `ParseException` is thrown. 1. The `PendingQuestionCommand` will create a `CommandResult` with a success message and return it to the LogicManager to complete the command execution. The GUI will also be updated accordingly as it calls the `filteredStudentList` which was updated during the execution of the command. The following sequence diagram shows how the `pq` mechanism works: - ![PqSequenceDiagram](images/PendingQuestionSequenceDiagram.png) -The following activity diagram summarizes what happens when a user executes the `pq` command: +The following activity diagram summarises what happens when a user executes the `pq` command: ![PqActivityDiagram](images/PendingQuestionCommandActivityDiagram.png) ### Finding a student from a selected course diff --git a/docs/Documentation.md b/docs/Documentation.md index a03dae9fb6d..4ef07404358 100644 --- a/docs/Documentation.md +++ b/docs/Documentation.md @@ -6,9 +6,9 @@ # Documentation Guide -* We use [**MarkBind**](https://markbind.org/) to manage documentation. +* We use [**Jekyll**](https://jekyllrb.com) to manage documentation. * The `docs/` folder contains the source files for the documentation website. -* To learn how set it up and maintain the project website, follow the guide [[se-edu/guides] Working with Forked MarkBind sites](https://se-education.org/guides/tutorials/markbind-forked-sites.html) for project documentation. +* To learn how set it up and maintain the project website, follow the guide [[se-edu/guides] Working with Forked Jekyll sites](https://se-education.org/guides/tutorials/jekyll.html#:~:text=the%20final%20outcome.-,Site%2Dwide%20settings,-Typically%2C%20the%20_config) for project documentation. **Style guidance:** diff --git a/docs/Logging.md b/docs/Logging.md index 413d86c5e7b..6c970508398 100644 --- a/docs/Logging.md +++ b/docs/Logging.md @@ -3,8 +3,6 @@ title: "Logging guide" --- -# Logging guide - * We are using `java.util.logging` package for logging. * The `LogsCenter` class is used to manage the logging levels and logging destinations. * The `Logger` for a class can be obtained using `LogsCenter.getLogger(Class)` which will log messages according to the specified logging level. diff --git a/docs/SettingUp.md b/docs/SettingUp.md index 8991969353e..076e8a89ee8 100644 --- a/docs/SettingUp.md +++ b/docs/SettingUp.md @@ -4,16 +4,11 @@ pageNav: 3 --- -# Setting up and getting started - - - - --------------------------------------------------------------------------------------------------------------------- + ## Setting up the project in your computer - +
**Caution:** Follow the steps in the following guide precisely. Things will not work out if you deviate in some steps. @@ -23,13 +18,16 @@ First, **fork** this repo, and **clone** the fork into your computer. If you plan to use Intellij IDEA (highly recommended): 1. **Configure the JDK**: Follow the guide [_[se-edu/guides] IDEA: Configuring the JDK_](https://se-education.org/guides/tutorials/intellijJdk.html) to to ensure Intellij is configured to use **JDK 11**. -1. **Import the project as a Gradle project**: Follow the guide [_[se-edu/guides] IDEA: Importing a Gradle project_](https://se-education.org/guides/tutorials/intellijImportGradleProject.html) to import the project into IDEA. +2. **Import the project as a Gradle project**: Follow the guide [_[se-edu/guides] IDEA: Importing a Gradle project_](https://se-education.org/guides/tutorials/intellijImportGradleProject.html) to import the project into IDEA. + + Note: Importing a Gradle project is slightly different from importing a normal Java project. -1. **Verify the setup**: + +3. **Verify the setup**: 1. Run the `seedu.codesphere.Main` and try a few commands. - 1. [Run the tests](Testing.md) to ensure they all pass. + 2. [Run the tests](Testing.md) to ensure they all pass. -------------------------------------------------------------------------------------------------------------------- @@ -39,21 +37,20 @@ If you plan to use Intellij IDEA (highly recommended): If using IDEA, follow the guide [_[se-edu/guides] IDEA: Configuring the code style_](https://se-education.org/guides/tutorials/intellijCodeStyle.html) to set up IDEA's coding style to match ours. - - - **Tip:** - Optionally, you can follow the guide [_[se-edu/guides] Using Checkstyle_](https://se-education.org/guides/tutorials/checkstyle.html) to find how to use the CheckStyle within IDEA e.g., to report problems _as_ you write code. + + + :bulb: **Tip:** Optionally, you can follow the guide [_[se-edu/guides] Using Checkstyle_](https://se-education.org/guides/tutorials/checkstyle.html) to find how to use the CheckStyle within IDEA e.g., to report problems _as_ you write code. -1. **Set up CI** +2. **Set up CI** This project comes with a GitHub Actions config files (in `.github/workflows` folder). When GitHub detects those files, it will run the CI for your project automatically at each push to the `master` branch or to any PR. No set up required. -1. **Learn the design** +3. **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). -1. **Do the tutorials** +4. **Do the tutorials** These tutorials will help you get acquainted with the codebase. * [Tracing code](tutorials/TracingCode.md) diff --git a/docs/Testing.md b/docs/Testing.md index f56241a4eff..52863f29de5 100644 --- a/docs/Testing.md +++ b/docs/Testing.md @@ -4,11 +4,6 @@ pageNav: 3 --- -# Testing guide - - - - ## Running tests @@ -35,7 +30,7 @@ This project has three types of tests: 1. *Unit tests* targeting the lowest level methods/classes.
e.g. `seedu.codesphere.commons.StringUtilTest` -1. *Integration tests* that are checking the integration of multiple code units (those code units are assumed to be working).
+2. *Integration tests* that are checking the integration of multiple code units (those code units are assumed to be working).
e.g. `seedu.codesphere.storage.StorageManagerTest` -1. Hybrids of unit and integration tests. These test are checking multiple code units as well as how the are connected together.
+3. Hybrids of unit and integration tests. These test are checking multiple code units as well as how the are connected together.
e.g. `seedu.codesphere.logic.LogicManagerTest` diff --git a/docs/diagrams/AddCourseActivityDiagram.puml b/docs/diagrams/AddCourseActivityDiagram.puml new file mode 100644 index 00000000000..97bc91d54c4 --- /dev/null +++ b/docs/diagrams/AddCourseActivityDiagram.puml @@ -0,0 +1,25 @@ +@startuml +start +:User executes add command on home page; + +'Since the beta syntax does not support placing the condition outside the +'diamond we place it as the true branch instead. + +if () then ([command is in invalid format]) + :Show invalid command format as error message; + +else ([else]) + if () then ([course name is invalid]) + : Show invalid course name error message; + else ([else]) + if () then ([course already exists]) + : Show duplicate course error message; + else ([else]) + : Add the course to the course list; + : Display the updated course list; + endif + endif +endif +stop + +@enduml diff --git a/docs/diagrams/DeleteCourseActivityDiagram.puml b/docs/diagrams/DeleteCourseActivityDiagram.puml new file mode 100644 index 00000000000..203b8017548 --- /dev/null +++ b/docs/diagrams/DeleteCourseActivityDiagram.puml @@ -0,0 +1,21 @@ +@startuml +start +:User executes delete command on home page; + +'Since the beta syntax does not support placing the condition outside the +'diamond we place it as the true branch instead. + +if () then ([command is in invalid format]) + :Show invalid command format as error message; + +else ([else]) + if () then ([input index is invalid]) + : Show invalid course index error message; + else ([else]) + : Deletes the course in the displayed course list; + : Display the full updated course list; + endif +endif +stop + +@enduml diff --git a/docs/diagrams/EditCourseActivityDiagram.puml b/docs/diagrams/EditCourseActivityDiagram.puml new file mode 100644 index 00000000000..980b3b06dae --- /dev/null +++ b/docs/diagrams/EditCourseActivityDiagram.puml @@ -0,0 +1,29 @@ +@startuml +start +:User executes edit command on home page; + +'Since the beta syntax does not support placing the condition outside the +'diamond we place it as the true branch instead. + +if () then ([command is in invalid format]) + :Show invalid command format as error message; + +else ([else]) + if () then ([input index is invalid]) + : Show invalid course index error message; + else ([else]) + if () then ([course name is invalid]) + : Show invalid course name error message; + else ([else]) + if () then ([course already exists)) + : Show duplicate course error message; + else ([else]) + : Deletes the course in the displayed course list; + : Display the full updated course list; + endif + endif + endif +endif +stop + +@enduml diff --git a/docs/images/AddCourseActivityDiagram.png b/docs/images/AddCourseActivityDiagram.png new file mode 100644 index 00000000000..69d8b337762 Binary files /dev/null and b/docs/images/AddCourseActivityDiagram.png differ diff --git a/docs/images/DeleteCourseActivityDiagram.png b/docs/images/DeleteCourseActivityDiagram.png new file mode 100644 index 00000000000..3fda6f06535 Binary files /dev/null and b/docs/images/DeleteCourseActivityDiagram.png differ diff --git a/docs/images/EditCourseActivityDiagram.png b/docs/images/EditCourseActivityDiagram.png new file mode 100644 index 00000000000..88b1f34dd78 Binary files /dev/null and b/docs/images/EditCourseActivityDiagram.png differ