Skip to content

Conversation

@venicephua
Copy link

FinTrek is a desktop app designed for university students to manage their expenses. It is optimized for use via the Command Line Interface (CLI) so that frequent tasks can be easily performed by keying in commands.

@nus-se-bot nus-se-bot closed this Feb 21, 2025
@damithc damithc reopened this Feb 21, 2025
rchlai pushed a commit to rchlai/tp that referenced this pull request Mar 18, 2025
Copy link

@nicholascxh nicholascxh left a comment

Choose a reason for hiding this comment

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

Good job!


* **General and Recurring Expenses list**: A general list would save all the general expenses created by the user, while recurring expenses list comprise of expenses that will be added at their respective stipulated dates.

* **Storage**: `DataHandler` will hanlde downloading and uploading both general and recurring expenses to `data.txt` file.

Choose a reason for hiding this comment

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

handle*


#### Sequence Diagram

![image](https://github.com/user-attachments/assets/9f466535-d577-4872-8f6f-27fa64d64fa9)

Choose a reason for hiding this comment

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

nested alt should have a success condition

@@ -0,0 +1,73 @@
@startuml ArchitectureOverview

Choose a reason for hiding this comment

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

You may need to disable the symbols for classes

ExpenseOperation <|.. RecurringExpenseManager


@enduml

Choose a reason for hiding this comment

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

LGTM, very detailed!


#### Sequence Diagram

![image](https://github.com/user-attachments/assets/9f466535-d577-4872-8f6f-27fa64d64fa9)

Choose a reason for hiding this comment

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

Objects should have a colon infront of the names


#### Sequence Diagram

![](images/delete.png)

Choose a reason for hiding this comment

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

I think method name cannot be put inside sequence diagram as an object.


#### Sequence Diagram

![](images/delete.png)

Choose a reason for hiding this comment

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

I am unsure what is N and M

- Extendability: Easily extensible to support `/delete-recurring`.

### List Expenses
![](images/list.png)

Choose a reason for hiding this comment

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

Difference in sequence diagram for this one, there is numberings here.


#### Sequence Diagram

![](images/editCommand.png)

Choose a reason for hiding this comment

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

Similarly, I think there should not be method as part of headers.


#### Sequence Diagram

![](images/editCommand.png)

Choose a reason for hiding this comment

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

Overall, all the sequence diagrams looks very comprehensive, nice!


* **Storage**: `DataHandler` will hanlde downloading and uploading both general and recurring expenses to `data.txt` file.

![](images/ArchitectureOverview.png)

Choose a reason for hiding this comment

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

I believe prof recently announced on Canvas that non-standard icons should be removed from the DG. Might have just been too recent an announcement but remember to change it :)

### Summary of Expenses

#### Sequence Diagram
![SummarySequenceDiagram](images/summary.png)

Choose a reason for hiding this comment

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

The current sequence diagram looks quite complicated, perhaps you could just focus on the SummaryCommand and ExpenseReporter classes instead of showing the complete process from user input to final output since most of the detail is focused at ExpenseReporter.

```

Step 5. Alternatively, the user executes `/summary` command to view the overall summary of the current expenses.
The `/summary` command calls `ExpenseReporter#listAllCategoryTotals()`.

Choose a reason for hiding this comment

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

Is this a method call? Why is it "#" and not "." ?


Given below is an example usage scenario and how the summary command behaves at each step.

Step 1. The user launches the application and adds some expenses into the application.

Choose a reason for hiding this comment

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

It may be easier to read if the steps numbers (Step 1, Step 2, etc.) are bolded or you just use the numbered list format.


#### Sequence Diagram

![image](https://github.com/user-attachments/assets/9f466535-d577-4872-8f6f-27fa64d64fa9)

Choose a reason for hiding this comment

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

This sequence diagram has zero activation bars, is that intentional? I think some activation bars may be omitted but not all.

Choose a reason for hiding this comment

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

Also, why are the arrows numbered? Might not match the course conventions.


#### Sequence Diagram

![](images/delete.png)

Choose a reason for hiding this comment

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

Similar to other comment below, the sequence diagram is quite complicated. You could perhaps focus just on CommandExecutor onwards (to the right) to make it easier to understand. The outer layerson the left don't seem as important for this particular function.

venicephua and others added 24 commits April 4, 2025 04:32
Refactor Help Command to format help descriptions for recurring commands
Updated AddCommand UML diagrams and added PPP
…uts and outputs. Refactored some of the codes to keep a function to around 30 lines
created header comments for some classes explaining the function, inp…
szeyingg and others added 30 commits April 8, 2025 05:02
Updated JavaDocs and PPP, minor edits to DG
Update UG and add a max limit on the average command
Make the code more defensive
Update PPP and add JUnit tests for FileDataParser
changes some outputs to screenshots
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.

9 participants