-
Notifications
You must be signed in to change notification settings - Fork 263
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CS2103T-F10-1] ResuMe #21
base: master
Are you sure you want to change the base?
[CS2103T-F10-1] ResuMe #21
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good job! May need to check for carelessness in naming.
docs/DeveloperGuide.adoc
Outdated
@@ -316,30 +316,73 @@ _{More to be added}_ | |||
(For all use cases below, the *System* is the `AddressBook` and the *Actor* is the `user`, unless specified otherwise) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The system name needs to be changed.
[none] | ||
** 3a1. ResuMe shows an error message | ||
+ | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe need to include a use case ends or resumes
[none] | ||
** 1a1. ResuMe shows an error message. | ||
+ | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe need a use case ends or resumes
docs/DeveloperGuide.adoc
Outdated
|
||
1. User enters `find KEYWORD` without specifying a `TYPE` | ||
2. ResuMe displays all items whose names contain the `KEYWORD` | ||
3. If user enters `find -TYPE KEYWORD` | ||
4. ResuMe displays only items of the `TYPE` whose names contain the `KEYWORD` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it may be a little too specific.
Maybe it can be:
User finds item using keyword etc...
Also,
It seems like these could be separated:
1-2 is Use case: Find item without specifying type
3-4 is Use case: Find item with specified type
1. User requests to list all items or only items of a specific `TYPE` | ||
2. ResuMe shows a list of corresponding items | ||
3. User checks for the `ID` of a specific item in the list to delete | ||
4. User requests to edit a specific item in the list |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this may be 'delete' instead of 'edit'
docs/DeveloperGuide.adoc
Outdated
|
||
1. User requests to list all items or only items of a specific `TYPE` | ||
2. ResuMe shows a list of corresponding items | ||
3. User checks for the `ID` of a specific item in the list to delete |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This may be borderline specific? Maybe can combine with line 4?
Maybe can change to User requests to delete a specific item based on ID?
Then extension can still follow
docs/DeveloperGuide.adoc
Outdated
3. User checks for the `ID` of a specific item in the list to edit | ||
4. User requests to edit a specific item in the list |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe can combine these two lines? Borderline specific.
Maybe can change to User requests to edit a specific item based on ID?
Then extension can still follow
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent documentation! Really very, very impressed by all the UML diagrams and screenshots. I myself can't wait to use your app.
@@ -64,13 +64,24 @@ image::LogicClassDiagram.png[] | |||
[discrete] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Parser is still named AddressBookParser
, need to change!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with what @zhuhanming is pointing out.
|
||
.Component interactions for initialisation | ||
|
||
image::ArchitectureInitSequenceDiagram.png[] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent diagram!
|
||
.Component interactions for `delete 1` command | ||
image::ArchitectureSequenceDiagram.png[] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Save to file action should be changed to its method name. Furthermore, the arrow is detached from the activation bar, should be touching instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Out of curiosity, why are there UML notes for your sequence diagram? Are these notes really helpful in this case, or can the reader get the same information from your descriptive method names?
docs/DeveloperGuide.adoc
Outdated
@@ -79,14 +90,15 @@ image::UiClassDiagram.png[] | |||
|
|||
*API* : link:{repoURL}/src/main/java/seedu/address/ui/Ui.java[`Ui.java`] | |||
|
|||
The UI consists of a `MainWindow` that is made up of parts e.g.`CommandBox`, `ResultDisplay`, `PersonListPanel`, `StatusBarFooter` etc. All these, including the `MainWindow`, inherit from the abstract `UiPart` class. | |||
The UI consists of a `MainWindow` that is made up of parts e.g.`CommandBox`, `ResultDisplay`, `ItemDisplay`, `PersonListPanel`, `StatusBarFooter` etc. All these, including the `MainWindow`, inherit from the abstract `UiPart` class. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent!
@@ -98,13 +110,13 @@ image::LogicClassDiagram.png[] | |||
*API* : | |||
link:{repoURL}/src/main/java/seedu/address/logic/Logic.java[`Logic.java`] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like the same diagram as before, not sure if it'll be good to replace one of the two.
. The result of the command execution is encapsulated as a `CommandResult` object which is passed back to the `Ui`. | ||
. In addition, the `CommandResult` object can also instruct the `Ui` to perform certain actions, such as displaying help to the user. | ||
|
||
Given below is the Sequence Diagram for interactions within the `Logic` component for the `execute("delete 1")` API call. | ||
Given below is the Sequence Diagram for interactions within the `Logic` component for the `execute("delete 1 i/ res")` API call. | ||
|
||
.Interactions Inside the Logic Component for the `delete 1` Command | ||
image::DeleteSequenceDiagram.png[] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent!
docs/DeveloperGuide.adoc
Outdated
@@ -114,6 +126,7 @@ NOTE: The lifeline for `DeleteCommandParser` should end at the destroy marker (X | |||
[[Design-Model]] | |||
=== Model component | |||
|
|||
// TODO: Fix diagram layout | |||
.Structure of the Model Component | |||
image::ModelClassDiagram.png[] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps one area of improvement is to make the numbers on the arrows easier to read. Some of them are overlapping and hard to read.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another point: Believe that ReadOnlyUserPrefs should have an <<Interface>> header.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some things to consider:
- For the arrow pointing to the
Model
interface (not from any class), where should it start from? - Does the arrow pointing to the
Model
interface fromModelManager
accurately reflect the relationship between the two? - Is
Item
an interface? If not, why are classes likeInternship
,Resume
etc implementingItem
?
docs/DeveloperGuide.adoc
Outdated
===== Adding into the resume | ||
The following screenshot illustrates what happens when we use `redit` to add item into the resume. The numbers in the command represent the index of the item in the list. After the end of the command, the number of item in the resume would have increased. | ||
|
||
image::ReditAddIntoResume.png[][AddIntoResume,442,337] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent screenshots!
image::ReditTags.png[][ReditWithTags,442,337] | ||
|
||
==== Design Considerations | ||
===== Aspect: Whether `ResumeEditCommand` should extend `EditCommand` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent considerations here!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall, still a great DG effort, if possible, make the Sequence Diagrams smaller so as to have a clearer view on the relevant parts!
docs/DeveloperGuide.adoc
Outdated
@@ -114,6 +126,7 @@ NOTE: The lifeline for `DeleteCommandParser` should end at the destroy marker (X | |||
[[Design-Model]] | |||
=== Model component | |||
|
|||
// TODO: Fix diagram layout | |||
.Structure of the Model Component | |||
image::ModelClassDiagram.png[] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another point: Believe that ReadOnlyUserPrefs should have an <<Interface>> header.
docs/DeveloperGuide.adoc
Outdated
|
||
== Implementation | ||
|
||
This section describes some noteworthy details on how certain features are implemented. | ||
|
||
=== [Proposed] Resume Edit feature |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section's screenshots feels more suited for a User Guide
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with @ChesterSim 's comment. Are there UML diagrams which can effectively capture the implementation details behind this feature instead?
ie. `AddItem` can add `Internship` to the `Internship` list, or add `Skill` to `Skill` list. | ||
|
||
**** | ||
*Conclusion:* We went with our current design because it allows for each command type to only have one distinct job which |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good initiative for a conclusion!
|
||
The following sequence diagram shows how the `me` feature allows user to edit the user profile: | ||
|
||
image::MeSequenceDiagram.png[] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Me Feature Implementation Sequence Diagram is wrong → control at EditUserCommand has two concurrent calls → getUser() and new Person("Quoc Hung") called before either returns anything
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with @ChesterSim 's comment.
@@ -218,21 +516,27 @@ image::CommitActivityDiagram.png[] | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Commit Activity Diagram is unchanged!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with @ChesterSim 's comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I took a look at your DG, and focused on the Design and Implementation sections. Overall, the team has done a good job updating the DG :)
However, there are some small bugs that can be fixed for the DG to be even better. Keep it up!
@@ -64,13 +64,24 @@ image::LogicClassDiagram.png[] | |||
[discrete] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with what @zhuhanming is pointing out.
|
||
.Component interactions for `delete 1` command | ||
image::ArchitectureSequenceDiagram.png[] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Out of curiosity, why are there UML notes for your sequence diagram? Are these notes really helpful in this case, or can the reader get the same information from your descriptive method names?
docs/DeveloperGuide.adoc
Outdated
@@ -114,6 +126,7 @@ NOTE: The lifeline for `DeleteCommandParser` should end at the destroy marker (X | |||
[[Design-Model]] | |||
=== Model component | |||
|
|||
// TODO: Fix diagram layout | |||
.Structure of the Model Component | |||
image::ModelClassDiagram.png[] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some things to consider:
- For the arrow pointing to the
Model
interface (not from any class), where should it start from? - Does the arrow pointing to the
Model
interface fromModelManager
accurately reflect the relationship between the two? - Is
Item
an interface? If not, why are classes likeInternship
,Resume
etc implementingItem
?
docs/DeveloperGuide.adoc
Outdated
|
||
== Implementation | ||
|
||
This section describes some noteworthy details on how certain features are implemented. | ||
|
||
=== [Proposed] Resume Edit feature |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with @ChesterSim 's comment. Are there UML diagrams which can effectively capture the implementation details behind this feature instead?
docs/DeveloperGuide.adoc
Outdated
|
||
* ** Alternative 2:** `ResumeEditCommand` extends `EditCommand` | ||
|
||
** Pros: Some methods in `EditCommand` may be able to inherited by `ResumeEditCommand`, reducing code duplication. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you spot a slight grammatical error in this sentence?
docs/DeveloperGuide.adoc
Outdated
* ** Alternative 1 (current choice):** `ABCCommand` is separated into many `ABCItemCommand`. | ||
|
||
** Pros: More OOP. Flexible behaviour of `ABCItemCommand` and can be easily changed as required. No | ||
casing required. Each `ABCItemCommand` has it's own and distinct functionality. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you spot a small grammatical error here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, what does "casing" mean?
docs/DeveloperGuide.adoc
Outdated
|
||
Command sequence: | ||
|
||
1. User type `me` command in the command box. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you see the very slight grammatical mistake?
|
||
The following sequence diagram shows how the `me` feature allows user to edit the user profile: | ||
|
||
image::MeSequenceDiagram.png[] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with @ChesterSim 's comment.
docs/DeveloperGuide.adoc
Outdated
with the app. | ||
|
||
==== Change Background and Font Color | ||
This allows the user to change the background and font color using rgb or hex color codes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you think listing these sections contribute to a reader's understanding of the implementation for these features?
@@ -218,21 +516,27 @@ image::CommitActivityDiagram.png[] | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with @ChesterSim 's comment.
… into resume-book-test
… into Update-DG * 'master' of https://github.com/AY1920S2-CS2103T-F10-1/main: Remove Company A Modify SortCommandTest as suggested Add tests for `SortResumesCommand` and `SortSkillsCommand` Add tests for `SortNotesCommand` and `SortProjectsCommand` Add tests for `SortInternshipsCommand` Fix some initialization Add `SortCommandParserTest` Amends `equals` for sort commands a Initial commit for sort tests Add `equals` for the sort command Update UG: fix typo and format consistency Remove unused imports Refactor Sort commands
Fix diagrams size
Modify edit so that cannot edit to same item
… into model-manager-test
Update DG: introduction + model class diagram
Fix for my picture in UG to show
Model Manager Test
Add `UserPrefsTest` and `VersionedResumeBookTest`
Refactor rgen and help
Update UG's
Fix Christian typos in DG
DG changes
Documentation changes
Finalize UG
New branch
Team Members:
@chrisjwelly : Christian James Welly
@helloImHai : Nguyen Chi Hai
@wardetu : Nguyen Minh Hoang
@nhamhung : Nham Quoc Hung
@duongphammmm : Pham Thuy Duong