-
Notifications
You must be signed in to change notification settings - Fork 103
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
[CS2113-W12-2] Moolah Manager #5
base: master
Are you sure you want to change the base?
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.
The developer guide is very well done. It is clear, concise, and the diagrams included helps the user to understand the program easily.
docs/DeveloperGuide.md
Outdated
## 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. |
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 preface section gives a good introduction to your project!
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.
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.
docs/DeveloperGuide.md
Outdated
### 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. |
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 software architecture section provides a clear and easily understandable description of how the software is designed.
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) |
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 use of notes to describe the limitations of the UML tool with regards to the lifeline.
docs/DeveloperGuide.md
Outdated
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) |
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.
I believe the numbered list may not be rendered correctly on the site.
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.
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.
, ...)
docs/DeveloperGuide.md
Outdated
|
||
### Edit Command | ||
|
||
{Describe the implementation for the Edit Command} |
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 the description for Edit Command.
docs/DeveloperGuide.md
Outdated
|
||
## Product scope | ||
### Target user profile | ||
|
||
{Describe the target user profile} |
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 the description for your target user profile.
docs/DeveloperGuide.md
Outdated
|
||
{Give non-functional requirements} | ||
|
||
## Glossary | ||
## Appendix D: Glossary | ||
|
||
* *glossary item* - Definition |
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 definitions to your glossary to help the user understand the terms you've used.
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) |
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.
I believe the HelpMessage class can be omitted and replaced with a note instead.
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) |
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 consider removing some functions in the ParameterParser class if they are not used to describe how the component works.
### 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: |
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.
May I check if the name of the application is still Duke?
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.
Yup @xzynos , the main class name for Moolah Manager will be Duke.
…on in StatsCommand
Add command cheat sheet to User Guide
Fixed Param Errors
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.
UG command format help budget
…to fit time_insights
Edit Storage method header comments
…into chinHan-AddPPP
Updated PPP and UG.
Class Diagrams Revamp
…into chinHan-AddPPP
Update size of my diagrams
Fix storage date parse bug
Add missing tag for help message and rephrase unclear words used
DG changes for Edit and Delete
Final PPP Push
Fix minor sequence diagram issue pre-release
Fix DG outdated value
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: