Skip to content

[CS2113-W12-2] Moolah Manager#5

Open
wcwy wants to merge 693 commits into
nus-cs2113-AY2223S1:masterfrom
AY2223S1-CS2113-W12-2:master
Open

[CS2113-W12-2] Moolah Manager#5
wcwy wants to merge 693 commits into
nus-cs2113-AY2223S1:masterfrom
AY2223S1-CS2113-W12-2:master

Conversation

@wcwy

@wcwy wcwy commented Sep 28, 2022

Copy link
Copy Markdown

Financial bookkeeping via traditional mobile applications has always been a hassle due to the repetitive clicks needed to manage monetary transactions. With Moolah Manager, you will be encouraged to take ownership of managing your finances via a time-saving and efficient command-line (CLI) interface.

The main features of Moolah Manager include:

  • Managing records of monetary transactions
  • Gathering financial insights such as categorical savings and periodic expenditure
  • General budgeting and reminders about spending

redders7 referenced this pull request in AY2223S1-CS2113-T18-1b/tp Oct 18, 2022

@xzynos xzynos left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The developer guide is very well done. It is clear, concise, and the diagrams included helps the user to understand the program easily.

Comment thread docs/DeveloperGuide.md Outdated
Comment on lines +38 to +44
## Preface

Moolah Manager is a desktop app for managing your finances, optimised for use via a Command Line Interface (CLI). Designed for people who are
fast typists, it can help to process day-to-day transactions, namely your incomes and expenses. These can help you to see all your transactions
and provide you with a valuable insight into your spending habits.

This document is meant to assist potential users and developers in understanding how our program works.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The preface section gives a good introduction to your project!

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Thanks a lot for your detailed feedback, Fang Jie! Our team appreciates it and will work towards the suggestions that you have provided to improve our developer guide.

Comment thread docs/DeveloperGuide.md Outdated
Comment on lines +79 to +95
### Architecture
![Architecture Diagram](images/ArchitectureDiagram.png)
The Architecture Diagram shown above explains the high-level design of Moolah Manager.
The `Duke` class contain the main method which holds the responsibility for the following:
1. On application launch, it will initialise the `UI`, `Storage` and `Data` components.
2. During application execution, it will interact with `UI`, `Parser`, `Command` components
to execute the command entered by the users.
3. On any exception caught, it will handle the exception and interact with the `UI` to display the error message.

`Common` represents a collection of classes or enums used by multiple components.

The rest of the application consists of six components:
- `UI`: The user interface of Moolah Manager
- `Parser`: Parser for user's entered command.
- `Command`: The command executor.
- `Data`: Holds the data of the application in memory.
- `Storage`: File I/O to store the data onto the hard disk.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The software architecture section provides a clear and easily understandable description of how the software is designed.

Comment thread docs/DeveloperGuide.md Outdated

#### How the architecture components interact with each other
The sequence diagram below shows how the components interact on command `budget b/1000`.
![Architecture Interaction](images/ArchitectureSequenceDiagram.png)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Good use of notes to describe the limitations of the UML tool with regards to the lifeline.

Comment thread docs/DeveloperGuide.md Outdated
Comment on lines +250 to +259
1) `Add` - Adds an `Income` or `expense` type transaction into the list of transaction. [Add Command](#add-command)
2) `Budget` - Adds an `Budget` into Moolah Manager, which sets the basis for financial tracking. [Budget Command](#budget-command)
3) `Bye` - Exits Moolah Manager. [Bye Command](#bye-command)
4) `Delete` - Deletes an `Income` or `expense` type transaction from the list of transaction. [Delete Command](#delete-command)
5) `Edit` - Edits an `Income` or `expense` type transaction from the list of transaction. [Edit Command](#edit-command)
6) `Find` - Searches for an `Income` or `expense` type transaction from the list of transaction given keywords. [Find Command](#find-command)
7) `Help` - Outputs the usage of commands of Moolah Manager. [Help Command](#help-command)
8) `List` - List all transactions. [List Command](#list-command)
9) `Purge` - Deletes all transactions from the list of transaction. [Purge Command](#purge-command)
10) `Stats` - View statistics on transactions based on the list of transactions in Moolah Manager. [Stats Command](#stats-command)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I believe the numbered list may not be rendered correctly on the site.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Indeed it is not rendered correctly, we will have to amend this. @brian-vb do note to update the numbering in markdown format (e.g. 1., 2., ...)

Comment thread docs/DeveloperGuide.md Outdated

### Edit Command

{Describe the implementation for the Edit Command}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Do add the description for Edit Command.

Comment thread docs/DeveloperGuide.md Outdated
## Product scope
### Target user profile

{Describe the target user profile}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Do add the description for your target user profile.

Comment thread docs/DeveloperGuide.md Outdated
## Glossary
## Appendix D: Glossary

* *glossary item* - Definition

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Do add definitions to your glossary to help the user understand the terms you've used.

Comment thread docs/DeveloperGuide.md Outdated
help messages to the users.

The structure of the application focusing on the help command is illustrated in the class diagram below:
![Data Component Class Diagram](images/HelpClassDiagram.png)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I believe the HelpMessage class can be omitted and replaced with a note instead.

Comment thread docs/DeveloperGuide.md Outdated
parsers are used to generate a command object with its accurate parameters according to the input from the UI.

The structure of the data component in Moolah Manager is illustrated in the class diagram below:
![Data Component Class Diagram](images/ParserClassDiagram.png)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Do consider removing some functions in the ParameterParser class if they are not used to describe how the component works.

Comment thread docs/DeveloperGuide.md
### Architecture
![Architecture Diagram](images/ArchitectureDiagram.png)
The Architecture Diagram shown above explains the high-level design of Moolah Manager.
The `Duke` class contain the main method which holds the responsibility for the following:

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

May I check if the name of the application is still Duke?

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Yup @xzynos , the main class name for Moolah Manager will be Duke.

chinhan99 and others added 27 commits October 26, 2022 19:47
Add command cheat sheet to User Guide
Added guides for command format, help command and budget command
MIN_AMOUNT_VALUE is now correctly representing the minimum amount that
a user can set for a transaction.
chinhan99 and others added 30 commits November 6, 2022 19:47
Edit Storage method header comments
Update size of my diagrams
Add missing tag for help message and rephrase unclear words used
DG changes for Edit and Delete
Fix minor sequence diagram issue pre-release
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