-
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-1] SplitLah #8
base: master
Are you sure you want to change the base?
[CS2113T-T10-1] SplitLah #8
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.
Overall, I think many diagrams can be simplified and resized to be bigger so that they are visible in PDF form.
|
||
## Design | ||
### Architecture | ||
![Application Diagram Screenshot](https://raw.githubusercontent.com/AY2122s2-cs2113t-t10-1/tp/master/docs/images/developerguide/ArchitectureDiagram.drawio.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.
Is the arrow from manager to textUi correct? Cause the TextUi invokes an instance the manager
* Defines how a command is executed. | ||
|
||
**Interaction between components** | ||
![Component Interaction Screenshot](https://raw.githubusercontent.com/AY2122s2-cs2113t-t10-1/tp/master/docs/images/developerguide/ComponentInteraction.drawio.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.
Overall, I think the diagram looks quite small on the website. Perhaps can consider prioritising comprehensibility over being comprehensive.
docs/DeveloperGuide.md
Outdated
class would return a unique identifier every time a new `Session`, `Activity` or `Group` is created. | ||
|
||
### TextUI Component | ||
![TextUI Component Screenshot](https://raw.githubusercontent.com/AY2122s2-cs2113t-t10-1/tp/master/docs/images/developerguide/TextUI%20Component.drawio.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.
Developer guide is generally well done, with comprehensive and correct diagrams to supplement text explanations
docs/DeveloperGuide.md
Outdated
* [Storage Component](#storage-component) | ||
* [Parser Component](#parser-component) | ||
* [Command Component](#command-component) | ||
* Implementation |
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.
Inconsistent formatting: I think there's a missing a hyperlink to the Implementation section
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 use numbers instead of bullet points given the comprehensive nature of your guide which makes very hard to follow through
|
||
## Design | ||
### Architecture | ||
![Application Diagram Screenshot](https://raw.githubusercontent.com/AY2122s2-cs2113t-t10-1/tp/master/docs/images/developerguide/ArchitectureDiagram.drawio.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
class would return a unique identifier every time a new `Session`, `Activity` or `Group` is created. | ||
|
||
### TextUI Component | ||
![TextUI Component Screenshot](https://raw.githubusercontent.com/AY2122s2-cs2113t-t10-1/tp/master/docs/images/developerguide/TextUI%20Component.drawio.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.
1. After a `XYZCommand` object is created by the [`Parser` Component](#parser-component), | ||
it is passed back to the `SplitLah` object to be run. | ||
* In the above process, all necessary information for the execution of the command is passed to and | ||
saved by the `XYZCommand` constructor. | ||
2. Then, `XYZCommand#run` is executed by `SplitLah`. `XYZCommand#run` carries out the task | ||
that `XYZCommand` is designed to do. | ||
* In general, for _data related commands_, `SessionJKLCommand`, `ActivityJKLCommand` and `GroupJKLCommand` | ||
obtains the relevant `Session`, `Activity` and `Group` objects before operating upon them with relevant methods. | ||
* On the other hand, for _utility commands_, `UtilityCommand` works with and uses methods from the `TextUI` component | ||
to print messages and carry out their tasks. | ||
* The inner workings of each of the `XYZCommand` classes can be seen in greater detail under the [Implementation section](#implementation). |
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 on the formatting as well as clarification on certain ambiguous terms used, makes it very readable for the reader
docs/DeveloperGuide.md
Outdated
![Reference Frame Command Parser Sequence Diagram](https://raw.githubusercontent.com/AY2122s2-cs2113t-t10-1/tp/master/docs/images/developerguide/RefCommandParser.drawio.png) | ||
|
||
## Design & implementation | ||
![Reference Frame ParseABC Sequence Diagram](https://raw.githubusercontent.com/AY2122s2-cs2113t-t10-1/tp/master/docs/images/developerguide/RefParseABC.drawio.png) | ||
|
||
{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.} | ||
![Reference Frame InvalidCommand Instantiation Sequence Diagram](https://raw.githubusercontent.com/AY2122s2-cs2113t-t10-1/tp/master/docs/images/developerguide/RefInvalidCommand.drawio.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.
Diagrams provided are not explicitly linked to text explaining it. Perhaps you can consider explaining each diagram with text right below the diagram, or name the diagrams and refer to them explicitly when explaining the respective process in text.
and finally back to `SplitLah` to be run. | ||
|
||
### Add a session | ||
**API reference:** [`SessionCreateCommand.java`](https://github.com/AY2122S2-CS2113T-T10-1/tp/blob/master/src/main/java/seedu/splitlah/command/SessionCreateCommand.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.
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.
Very detailed developer guide. Diagrams are well-designed and clear explanation is given.👍🏻
when the user invokes the `activity /list` command. | ||
<br> | ||
<br> | ||
![List Activity Sequence Diagram Screenshot](https://raw.githubusercontent.com/AY2122s2-cs2113t-t10-1/tp/master/docs/images/developerguide/ActivityListCommand.drawio.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.
2. Else, the `Profile` objects instantiates a new `TableFormatter` object and loops through the list of groups, | ||
calling `TableFormatter#addRow` for each group to create a table with the summary of each group. A `String` object | ||
representing the table is then returned. | ||
6. The `String` object retrieved is printed out with `TextUI#printlnMessage`. | ||
|
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 diagrams and descriptions are detailed and clear. Good job!👍🏻👍🏻
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 job team!
docs/DeveloperGuide.md
Outdated
* [Storage Component](#storage-component) | ||
* [Parser Component](#parser-component) | ||
* [Command Component](#command-component) | ||
* Implementation |
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 use numbers instead of bullet points given the comprehensive nature of your guide which makes very hard to follow through
|
||
## Design | ||
### Architecture | ||
![Application Diagram Screenshot](https://raw.githubusercontent.com/AY2122s2-cs2113t-t10-1/tp/master/docs/images/developerguide/ArchitectureDiagram.drawio.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.
Is the arrow from manager to textUi correct? Cause the TextUi invokes an instance the manager
10. Finally, with the `TextUI` object, the method `printlnMessageWithDivider` is called to print the message | ||
obtained from the `SessionSummaryCommand#processAllTransactions` method. | ||
|
||
### Add an activity |
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 remember to include them once they are done!
docs/DeveloperGuide.md
Outdated
| v1.0 | Budget conscious user | list all existing sessions | view all sessions previously created | | ||
| v1.0 | Budget conscious user | list all activities in a session | view all the activities that happened in the session | | ||
| v1.0 | Budget conscious user | settle all transactions of a session | see a summary of who needs to pay what amount to who for the entire session | | ||
| v1.0 | User | exit the application | stop tracking | |
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 add in v2.0 and can consider having a separate table for each user type or sort them by different types of user
docs/DeveloperGuide.md
Outdated
|
||
{Give non-functional requirements} | ||
1. The application should be able to work in any operating systems with `Java 11` installed. | ||
2. |
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.
Otherwise good job! Very detailed but might be a bit too detailed
@@ -1,38 +1,416 @@ | |||
# Developer 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.
Perhaps the Developer Guide could start off with a quick introduction to what your product is about.
|
||
### TextUI Component | ||
![TextUI Component Screenshot](https://raw.githubusercontent.com/AY2122s2-cs2113t-t10-1/tp/master/docs/images/developerguide/TextUI%20Component.drawio.png) | ||
<br> |
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.
|
||
### Parser Component | ||
![Parser Component Screenshot](https://raw.githubusercontent.com/AY2122s2-cs2113t-t10-1/tp/master/docs/images/developerguide/ParserComponent.drawio.png) | ||
<br> |
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 general workflow of the `Parser` component is as follows: | ||
1. When required to parse for a command, the running `SplitLah` object passes a `String` object containing | ||
the user input to `Parser` class. | ||
2. `Parser` class instantiates a new `XYZCommandParser` object corresponding to the user input |
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.
Update user guide and developer guide
Update Developer Guide
Update printing format
Update ActivityTesting section
Update user guide formatting
Update PPP
Update PPP
Update ppp
Minimise PPP
Fix typo in PPP
Update ppp indentation
Update PPP
SplitLah is an application for keeping track of expenses during group outing sessions, specifically for those who are cautious about their finance. It then proceeds to split the expenses according to the group members' individual costs for the activities they participated in, for a particular session, via a Command Line Interface(CLI).