-
Notifications
You must be signed in to change notification settings - Fork 101
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
[CS2113T-T10-4] MindMyMoney #10
base: master
Are you sure you want to change the base?
[CS2113T-T10-4] MindMyMoney #10
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.
Great diagrams drawn! Some issues to consider!
docs/DeveloperGuide.md
Outdated
#### Current Implementation | ||
The sequence diagram below shows the interactions of different subcomponents of the system when adding an expenditure | ||
to the list. | ||
![add_command_sequence_diagram](images/Add_Command_Sequence_Diagram.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.
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 return values should include the data type e.g. category: String
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 applies to all the return value
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.
Would it be possible to enter the objectName:Datatype format for the return types?
docs/DeveloperGuide.md
Outdated
4. During the execution, `Addcommand.execute` will parse through user input to obtain the `EXPENDITURE`, `CATEGORY`, | ||
`DESCRIPTION`, `AMOUNT` and `TIME` fields. | ||
5. The `Addcommand` object instantiates a new `Expenditure` object with the aforementioned 5 fields and adds them |
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 there should be another line to describe what the AddCommandInputTest#test(...) method does?
docs/DeveloperGuide.md
Outdated
To enable users to view their finances in a more meaningfully, MindMyMoney does calculations to present financial data | ||
that is actionable for the users. | ||
|
||
![calculate_command_sequence_diagram](images/gif_loading.gif) |
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.
Unsure if the gif is supposed to be an indication of 'to be updated' as here it states that the picture is supposed to be a sequence diagram, but no sequence diagram is shown xD.
docs/DeveloperGuide.md
Outdated
### Command component | ||
The source can be found in [command](https://github.com/AY2122S2-CS2113T-T10-4/tp/blob/master/src/main/java/seedu/mindmymoney/command) | ||
|
||
![command_diagram](images/command_diagram.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.
This diagram is understandable as it shows the different commands available but perhaps an improvement that could be done is to add in the abstract method execute() also to show that all command types have this method in their own classes?
docs/DeveloperGuide.md
Outdated
The Sequence Diagram below shows an example of how the components interact with each other for the scenario | ||
where the user issues the command`add shoes 100`. | ||
|
||
![sequence_diagram](images/sequence_diagram.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 that shows a high-level overview of how the application works. Colouring to differentiate the different components are also good!
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.
For the sequence diagram, shouldn't the user go to :MMM with thecommand add shoes before the :Ui?
The sequence feels a bit off 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.
I think they are trying to illustrate that the user enters the command through :UI, which is then sent to :MMM to handle, which will then parse and do the rest of the sequence.
docs/DeveloperGuide.md
Outdated
<br/> | ||
|
||
### UI component | ||
The source code can be found in [Ui.java](https://github.com/AY2122S2-CS2113T-T10-4/tp/blob/master/src/main/java/seedu/mindmymoney/Ui.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.
I like how you guys include the link for source code in the DG
docs/DeveloperGuide.md
Outdated
|
||
{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.} | ||
### Architecture | ||
![architecture diagram](images/architecture_diagram.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.
docs/DeveloperGuide.md
Outdated
### Command component | ||
The source can be found in [command](https://github.com/AY2122S2-CS2113T-T10-4/tp/blob/master/src/main/java/seedu/mindmymoney/command) | ||
|
||
![command_diagram](images/command_diagram.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.
docs/DeveloperGuide.md
Outdated
To enable users to view their finances in a more meaningfully, MindMyMoney does calculations to present financial data | ||
that is actionable for the users. | ||
|
||
![calculate_command_sequence_diagram](images/gif_loading.gif) |
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.
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 thought it was intended but just curious why haha
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 curious about the loading gif! Is it a picture that was not rendered?
docs/DeveloperGuide.md
Outdated
* Pros: Easily implemented with lesser lines of code as the code is minimalist | ||
* Cons: JUnit testing would require I/O redirection prior to checking the output matches expectations | ||
|
||
![list_command_sequence_diagram](images/List_Command_Sequence_Diagram.png) | ||
|
||
## Product scope | ||
### Target user profile |
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.
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.
DG peer review
docs/DeveloperGuide.md
Outdated
@@ -4,10 +4,150 @@ | |||
|
|||
{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well} |
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.
There is no overview summary of what the software is all about
docs/DeveloperGuide.md
Outdated
<br/> | ||
|
||
### UI component | ||
The source code can be found in [Ui.java](https://github.com/AY2122S2-CS2113T-T10-4/tp/blob/master/src/main/java/seedu/mindmymoney/Ui.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.
It's good that there's a source code hyperlink to the Github website
docs/DeveloperGuide.md
Outdated
![parser_diagram](images/parser_diagram.png) | ||
<br/> Fig 4 - Parser Diagram | ||
|
||
The Parser component consists of a`Parser`, `Functions`, `ExpenditureList` and `Expenditure`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.
The labeling of figures may be better if placed above the diagram itself.
Why is the Function class separate from the Parser Class?
docs/DeveloperGuide.md
Outdated
* Pros: Easily implemented with lesser lines of code as the code is minimalist | ||
* Cons: JUnit testing would require I/O redirection prior to checking the output matches expectations | ||
|
||
![list_command_sequence_diagram](images/List_Command_Sequence_Diagram.png) | ||
|
||
## Product scope | ||
### Target user profile |
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.
Target User is unknown so it is unclear who this software is for
docs/DeveloperGuide.md
Outdated
To enable users to view their finances in a more meaningfully, MindMyMoney does calculations to present financial data | ||
that is actionable for the users. | ||
|
||
![calculate_command_sequence_diagram](images/gif_loading.gif) |
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.
docs/DeveloperGuide.md
Outdated
![sequence_diagram](images/sequence_diagram.png) | ||
<br/> Fig 2 - Sequence Diagram | ||
|
||
The sections below give more details for each component. |
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.
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 team!
docs/DeveloperGuide.md
Outdated
The Sequence Diagram below shows an example of how the components interact with each other for the scenario | ||
where the user issues the command`add shoes 100`. | ||
|
||
![sequence_diagram](images/sequence_diagram.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.
For the sequence diagram, shouldn't the user go to :MMM with thecommand add shoes before the :Ui?
The sequence feels a bit off here
The source can be found in [`command`](https://github.com/AY2122S2-CS2113T-T10-4/tp/blob/master/src/main/java/seedu/mindmymoney/command) | ||
|
||
![command_diagram](images/command_diagram.png) | ||
Fig 5 - Command Class Diagram |
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.
Might want to centralise the "figure 5". I took a while to find it
docs/DeveloperGuide.md
Outdated
#### Current Implementation | ||
The sequence diagram below shows the interactions of different subcomponents of the system when adding an expenditure | ||
to the list. | ||
![add_command_sequence_diagram](images/Add_Command_Sequence_Diagram.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 return values should include the data type e.g. category: String
docs/DeveloperGuide.md
Outdated
#### Current Implementation | ||
The sequence diagram below shows the interactions of different subcomponents of the system when adding an expenditure | ||
to the list. | ||
![add_command_sequence_diagram](images/Add_Command_Sequence_Diagram.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.
This applies to all the return value
docs/DeveloperGuide.md
Outdated
To enable users to view their finances in a more meaningfully, MindMyMoney does calculations to present financial data | ||
that is actionable for the users. | ||
|
||
![calculate_command_sequence_diagram](images/gif_loading.gif) |
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 thought it was intended but just curious why haha
docs/DeveloperGuide.md
Outdated
The sequence diagram below shows the interactions of different subcomponents of the system when adding an expenditure | ||
to the list. | ||
|
||
![add_expenditure_command_sequence_diagram](images/Add_Expenditure_Command_Sequence_Diagram.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.
for the print added expenditure, should it be calling the print()/equivilent print method?
docs/DeveloperGuide.md
Outdated
**Value proposition** | ||
Manage finances containing multiple payment methods faster than a typical mouse/GUI driven app. | ||
|
||
### User Stories | ||
|
||
|Version| As a ... | I want to ... | So that I can ...| | ||
|--------|----------|---------------|------------------| | ||
|v1.0|new user|see usage instructions|refer to them when I forget how to use the application| | ||
|v2.0|user|find a to-do item by name|locate a to-do without having to go through the entire 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.
Might want to add more of the user stories, feels like the app has very limited features
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 really good DeveloperGuide! Good job
docs/DeveloperGuide.md
Outdated
|
||
The sequence diagram below shows the interactions of when an `AddCommand` is parsed. | ||
|
||
![add_command_sequence_diagram](images/Add_Command_Sequence_Diagram.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.
docs/DeveloperGuide.md
Outdated
### Command component | ||
The source can be found in [`command`](https://github.com/AY2122S2-CS2113T-T10-4/tp/blob/master/src/main/java/seedu/mindmymoney/command) | ||
|
||
![command_diagram](images/command_diagram.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.
docs/DeveloperGuide.md
Outdated
The sequence diagram below shows the interactions of different subcomponents of the system when adding an expenditure | ||
to the list. | ||
|
||
![add_expenditure_command_sequence_diagram](images/Add_Expenditure_Command_Sequence_Diagram.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.
docs/DeveloperGuide.md
Outdated
**Value proposition** | ||
Manage finances containing multiple payment methods faster than a typical mouse/GUI driven app. | ||
|
||
### User Stories | ||
|
||
|Version| As a ... | I want to ... | So that I can ...| | ||
|--------|----------|---------------|------------------| | ||
|v1.0|new user|see usage instructions|refer to them when I forget how to use the application| | ||
|v2.0|user|find a to-do item by name|locate a to-do without having to go through the entire 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.
Like ibrahimisramos stated, adding more user stories would be good. It would also tell others what features you focus based on the user stories you looked at or plan to look at.
docs/DeveloperGuide.md
Outdated
The Sequence Diagram below shows an example of how the components interact with each other for the scenario | ||
where the user issues the command`add shoes 100`. | ||
|
||
![sequence_diagram](images/sequence_diagram.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.
No critique here, just a really nice diagram sequence that details the architecture of your program!
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.
Looks good. It's a very informative developer guide with a few areas for improvement,
docs/DeveloperGuide.md
Outdated
The Sequence Diagram below shows an example of how the components interact with each other for the scenario | ||
where the user issues the command`add shoes 100`. | ||
|
||
![sequence_diagram](images/sequence_diagram.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 think they are trying to illustrate that the user enters the command through :UI, which is then sent to :MMM to handle, which will then parse and do the rest of the sequence.
docs/DeveloperGuide.md
Outdated
The Sequence Diagram below shows an example of how the components interact with each other for the scenario | ||
where the user issues the command`add shoes 100`. | ||
|
||
![sequence_diagram](images/sequence_diagram.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.
Good use of color schemes to make the sequence and architecture diagrams more visually appealing and easy to follow through!
docs/DeveloperGuide.md
Outdated
### Parser component | ||
The source code can be found in [`Parser.java`](https://github.com/AY2122S2-CS2113T-T10-4/tp/blob/master/src/main/java/seedu/mindmymoney/Parser.java) | ||
|
||
![parser_diagram](images/parser_diagram.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.
Would it be possible to clarify this diagram? It is a bit confusing because a package named Parser is used. But the code architecture does not have a package named parser. Would it be possible to rename it to a more suitable name like ExpenditureTracker? Because it houses not only parser, but also the other aspects like the ExpenditureList, Functions as well as Parser
docs/DeveloperGuide.md
Outdated
#### Current Implementation | ||
The sequence diagram below shows the interactions of different subcomponents of the system when adding an expenditure | ||
to the list. | ||
![add_command_sequence_diagram](images/Add_Command_Sequence_Diagram.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.
Would it be possible to enter the objectName:Datatype format for the return types?
**Value proposition** | ||
Manage finances containing multiple payment methods faster than a typical mouse/GUI driven app. | ||
|
||
### User Stories |
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.
Would it be possible to add more user stories that could cover what kind of users the features are intended for?
docs/DeveloperGuide.md
Outdated
To enable users to view their finances in a more meaningfully, MindMyMoney does calculations to present financial data | ||
that is actionable for the users. | ||
|
||
![calculate_command_sequence_diagram](images/gif_loading.gif) |
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 curious about the loading gif! Is it a picture that was not rendered?
|
||
* *glossary item* - Definition | ||
* Mainstream OS: Windows, Linux, Unix, OS-X | ||
|
||
## Instructions for manual testing | ||
|
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.
Kindly do add instructions for manual testing of the features so a new developer can understand how to test these features. You can include positive and negative test cases, expected outcomes.
Add Kit Han PPP
Update PPP
Update AboutUs Portfolio link
Sean tests
Sean-PPP pic changes
Add CalculateInputCommand sequence diagrams Refactor and shift helper methods to helper class
# Conflicts: # docs/DeveloperGuide.md # docs/puml/AddExpenditureCommandSequenceDiagram.puml # src/main/java/seedu/mindmymoney/command/AddCommand.java
Fix add command where invalid input crashes program
# Conflicts: # docs/images/AddCreditCardSequenceDiagram.png # docs/images/AddExpenditureSequenceDiagram.png
Standardise sequence and class diag format
Sean bugs lessthan 1hr to deadline
Add validators for reading save file
fixed bug of startwith
…into kitHan-setMaxIncomeAmount
Kit han set max income amount
change dan face pt 2
Minor changes to command classes
MindMyMoney is a Command-Line application that allows users to track their spending