Skip to content

Commit

Permalink
Merge pull request AY2324S1-CS2103T-W15-4#356 from gongg21/branch-upd…
Browse files Browse the repository at this point in the history
…ate-dg

Update DevelopGuide.md and relevant files
  • Loading branch information
gongg21 authored Nov 13, 2023
2 parents e45a2a8 + 70fc23d commit f602257
Show file tree
Hide file tree
Showing 13 changed files with 103 additions and 39 deletions.
2 changes: 0 additions & 2 deletions docs/Configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`).
5 changes: 0 additions & 5 deletions docs/DevOps.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,6 @@
pageNav: 3
---

# DevOps guide

<!-- * Table of Contents -->
<page-nav-print />

<!-- -------------------------------------------------------------------------------------------------------------------- -->

## Build automation
Expand Down
14 changes: 10 additions & 4 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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**

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions docs/Documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:**

Expand Down
2 changes: 0 additions & 2 deletions docs/Logging.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
31 changes: 14 additions & 17 deletions docs/SettingUp.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,11 @@
pageNav: 3
---

# Setting up and getting started

<!-- * Table of Contents -->
<page-nav-print />

--------------------------------------------------------------------------------------------------------------------
<!-- -------------------------------------------------------------------------------------------------------------------- -->

## Setting up the project in your computer

<box type="warning" seamless>
<div type="warning" seamless>

**Caution:**
Follow the steps in the following guide precisely. Things will not work out if you deviate in some steps.
Expand All @@ -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.

<box type="warning" seamless>

Note: Importing a Gradle project is slightly different from importing a normal Java project.
</box>
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.

--------------------------------------------------------------------------------------------------------------------

Expand All @@ -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.

<box type="tip" seamless>

**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.
<box markdown="span" class="alert alert-primary">

: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.
</box>

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)
Expand Down
9 changes: 2 additions & 7 deletions docs/Testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,6 @@
pageNav: 3
---

# Testing guide

<!-- * Table of Contents -->
<page-nav-print />

<!-- -------------------------------------------------------------------------------------------------------------------- -->

## Running tests
Expand All @@ -35,7 +30,7 @@ This project has three types of tests:

1. *Unit tests* targeting the lowest level methods/classes.<br>
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).<br>
2. *Integration tests* that are checking the integration of multiple code units (those code units are assumed to be working).<br>
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.<br>
3. Hybrids of unit and integration tests. These test are checking multiple code units as well as how the are connected together.<br>
e.g. `seedu.codesphere.logic.LogicManagerTest`
25 changes: 25 additions & 0 deletions docs/diagrams/AddCourseActivityDiagram.puml
Original file line number Diff line number Diff line change
@@ -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
21 changes: 21 additions & 0 deletions docs/diagrams/DeleteCourseActivityDiagram.puml
Original file line number Diff line number Diff line change
@@ -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
29 changes: 29 additions & 0 deletions docs/diagrams/EditCourseActivityDiagram.puml
Original file line number Diff line number Diff line change
@@ -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
Binary file added docs/images/AddCourseActivityDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/DeleteCourseActivityDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/EditCourseActivityDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit f602257

Please sign in to comment.