[CS2113T-T10-1] SplitLah#8
Conversation
BradenTeo
left a comment
There was a problem hiding this comment.
Overall, I think many diagrams can be simplified and resized to be bigger so that they are visible in PDF form.
|
|
||
| ## Design | ||
| ### Architecture | ||
|  |
There was a problem hiding this comment.
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** | ||
|  |
There was a problem hiding this comment.
Overall, I think the diagram looks quite small on the website. Perhaps can consider prioritising comprehensibility over being comprehensive.
| class would return a unique identifier every time a new `Session`, `Activity` or `Group` is created. | ||
|
|
||
| ### TextUI Component | ||
|  |
laiisaac
left a comment
There was a problem hiding this comment.
Developer guide is generally well done, with comprehensive and correct diagrams to supplement text explanations
| * [Storage Component](#storage-component) | ||
| * [Parser Component](#parser-component) | ||
| * [Command Component](#command-component) | ||
| * Implementation |
There was a problem hiding this comment.
Inconsistent formatting: I think there's a missing a hyperlink to the Implementation section
There was a problem hiding this comment.
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 | ||
|  |
There was a problem hiding this comment.
| class would return a unique identifier every time a new `Session`, `Activity` or `Group` is created. | ||
|
|
||
| ### TextUI Component | ||
|  |
| 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.
Good job on the formatting as well as clarification on certain ambiguous terms used, makes it very readable for the reader
|  | ||
|
|
||
| ## Design & implementation | ||
|  | ||
|
|
||
| {Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.} | ||
|  |
There was a problem hiding this comment.
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) |
cczhouqi
left a comment
There was a problem hiding this comment.
Very detailed developer guide. Diagrams are well-designed and clear explanation is given.👍🏻
| when the user invokes the `activity /list` command. | ||
| <br> | ||
| <br> | ||
|  |
| 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.
The diagrams and descriptions are detailed and clear. Good job!👍🏻👍🏻
| * [Storage Component](#storage-component) | ||
| * [Parser Component](#parser-component) | ||
| * [Command Component](#command-component) | ||
| * Implementation |
There was a problem hiding this comment.
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 | ||
|  |
There was a problem hiding this comment.
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.
Do remember to include them once they are done!
| | 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.
Do add in v2.0 and can consider having a separate table for each user type or sort them by different types of user
|
|
||
| {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.
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.
Perhaps the Developer Guide could start off with a quick introduction to what your product is about.
|
|
||
| ### TextUI Component | ||
|  | ||
| <br> |
|
|
||
| ### Parser Component | ||
|  | ||
| <br> |
| 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 |
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).