Skip to content
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-W11-1] MoneyGoWhere #1

Open
wants to merge 1,096 commits into
base: master
Choose a base branch
from

Conversation

xzynos
Copy link

@xzynos xzynos commented Sep 28, 2022

MoneyGoWhere is a financial planner to help you manage your finances.

Copy link

@joshuan98 joshuan98 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some minor bugs such as invalid diagram links, overall lgtm

Comment on lines 3 to 9
## Acknowledgements
## Introduction

{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well}
{add introduction here}

## Design & implementation
## Acknowledgements

{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.}
{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be better if you remove the lines with { } for your final DG?

### Software Architecture:
The software architecture diagram below describes the application's design and the interaction between components.

![Software-Architecture](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/SoftwareArchitecture.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your software architecture diagram looks clear and easy to understand!

In this example,
the user enters the command `Add-Expense -n Expense -a 7.80` to add an expense with the name `Expense` and the amount `7.80`.

![Component-Interaction-On-Command-Entered](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ComponentInteractionsOnCommandEntered.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should the following method call be directed at the start of a new activation bar?

image


### Common Component

![Component-Common](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ComponentCommon.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This diagram appears to be missing

Relevant screenshot:
image

Copy link

@jorellesee jorellesee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall ok, just needs to be more complete with more textual explanations

### Software Architecture:
The software architecture diagram below describes the application's design and the interaction between components.

![Software-Architecture](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/SoftwareArchitecture.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job on the clear and accurate architecture diagram!

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uploading Screenshot 2022-10-26 at 2.09.15 PM.png…


### Common Component

![Component-Common](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ComponentCommon.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unable to understand Common Component diagram

In this example,
the user enters the command `Add-Expense -n Expense -a 7.80` to add an expense with the name `Expense` and the amount `7.80`.

![Component-Interaction-On-Command-Entered](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ComponentInteractionsOnCommandEntered.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps consider placing the Add-Expense method call at the very start of the activation bar?
Screenshot 2022-10-26 at 2 10 18 PM

In this example,
the user enters the command `Add-Expense -n Expense -a 7.80` to add an expense with the name `Expense` and the amount `7.80`.

![Component-Interaction-On-Command-Entered](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ComponentInteractionsOnCommandEntered.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps a new object needs to be created for consoleCommand? Assuming consoleCommand is not a method under UserInterface


### Exceptions Component

![Component-Exceptions](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ComponentExceptions.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More textual explanations to accompany the diagrams would be useful

* `UserInterface#getConsoleCommand()` calls `UserInterface#getConsoleInput()` to read the user's input as a string.
* `UserInterface#getConsoleCommand()` then calls `Parser#parse()` to parse the input string into the corresponding console command object.

![Component-Interaction-On-Command-Entered](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ComponentInteractionsRefPrintExpense.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this image needed? Please kindly remove it if not needed.


The Common component consists of the class `Messages` and `Configurations`.

![Component-Common](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ComponentCommon.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please kindly insert the diagram for this part as it is not visible in DG.


### Commands Component

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job on the usage plantUML for the diagrams! Very clean and detailed!

Copy link

@ivanthengwr ivanthengwr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall good attempt! just note the comments that have been recommended.

* `UserInterface#getConsoleCommand()` calls `UserInterface#getConsoleInput()` to read the user's input as a string.
* `UserInterface#getConsoleCommand()` then calls `Parser#parse()` to parse the input string into the corresponding console command object.

![Component-Interaction-On-Command-Entered](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ComponentInteractionsRefPrintExpense.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This image reflected may not be intended for this section, do consider the image that has been added.

image


### Exceptions Component

![Component-Exceptions](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ComponentExceptions.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider spacing out the arrowheads to the MoneyGoWhereException


### Commands Component

![Component-Commands](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ComponentCommands.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider adding more details to the User Interface Component, looks like it does not explain much.


### Adding an expense from a recurring payment: `Pay-RecurringPayment`

![Implementation-Edit-RecurringPayment](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ImplementationPayRecurringPayment.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider reviewing your [Implementation-Edit-RecurringPayment], looks like the image cannot be seen

image


### Adding an expense: `Add-Expense`

![Implementation-Add-Expense](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ImplementationAddExpense.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider reviewing your[Implementation-Add-Expense] looks like the image cannot be seen

image

## Implementation
### Reading and parsing the user's commands

![Implementation-Add-Expense](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ImplementationRefGetConsoleCommand.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider omitting <> on the sequence diagram as it may not be accounting to convention

Copy link

@redders7 redders7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job with your sequence diagrams in general!

the user launches the program and enters the command `Add-Expense -n Expense -a 7.80` to add an expense with the name `Expense` and the amount `7.80`.
The sequence diagrams referenced by the component interaction diagram can be seen [below](#component-interaction-sequence-diagrams)

![Component-Interaction-On-Command-Entered](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ComponentInteractionsOnCommandEntered.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image
Should this instance of MoneyGoWhere be created by the user instead?

## Implementation
### Reading and parsing the user's commands

![Implementation-Add-Expense](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ImplementationRefGetConsoleCommand.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image
Are the consoleCommand calls necessary?


### Adding an expense: `Add-Expense`

![Implementation-Add-Expense](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ImplementationAddExpense.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image
Diagram seems to be missing.


### Viewing an expense: `View-Expense`

![Implementation-View-Expense](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ImplementationViewExpense.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image
Is the format used for the conditions in the alt and opt paths the best in terms of readability? Perhaps it should be explained in words rather than code?


### Printing a recurring payment

![Implementation-SD-Print-RecurringPayment](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ImplementationRefPrintRecurringPayment.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image
Diagram seems to be missing from DG.


### Adding a recurring payment: `Add-RecurringPayment`

![Implementation-Add-RecurringPayment](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ImplementationAddRecurringPayment.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image
Is this instance of recurringPayment still used in the future? Should it be deleted?


### Exceptions Component

![Component-Exceptions](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ComponentExceptions.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image
Perhaps MoneyGoWhereException class should be labelled as an abstract class?

Copy link

@alfred-leong alfred-leong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good attempt (Sorry for late comment)


### Common Component

![Component-Common](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ComponentCommon.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this diagram have more explanations? It is difficult to see how it is relevant to the reader.


### Commands Component

![Component-Commands](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ComponentCommands.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this diagram overly complicated? Should it be less complex so that the reader can see the main point of the diagram?


### UserInterface Component

![Component-UserInterface](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ComponentUserInterface.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this diagram useful to the reader? How informational is it to the reader? Would it be better if there is some explanation/more information as to what happens in Parser/Data/Logger?

In this example,
the user enters the command `Add-Expense -n Expense -a 7.80` to add an expense with the name `Expense` and the amount `7.80`.

![Component-Interaction-On-Command-Entered](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/xzynos/tp/branch-MoneyGoWhere-Webpage/docs/diagrams/ComponentInteractionsOnCommandEntered.puml)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good work on this sequence diagram, look foward to seeing more sequence diagrams in your Developer Guide!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.