-
Notifications
You must be signed in to change notification settings - Fork 248
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-F13-2] BrokeMan #51
base: master
Are you sure you want to change the base?
[CS2113-F13-2] BrokeMan #51
Conversation
Resolve merge conflict in nus-cs2113-AY2223S2#51
updated MESSAGE_USAGE in command classes
Added Save component for Budget and Read Component
docs/DeveloperGuide.md
Outdated
|
||
![Architecture Diagram](images/ArchitectureDiagram.png) | ||
|
||
The ***architecture diagram*** given above is explains the high level design of the program. |
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 seems to be a typo in this sentence
docs/DeveloperGuide.md
Outdated
|
||
--- | ||
|
||
|Version| As a ... | I want to ... | So that I can ... | |
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.
User stories are repeated in the DG, there are 2 tables
docs/DeveloperGuide.md
Outdated
|
||
--- | ||
|
||
## 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.
"i" is in lowercase
@@ -1,38 +1,253 @@ | |||
# 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 can add more diagrams of different types
|
||
## Design | ||
|
||
### Architecture |
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.
Architecture diagram is clear and well explained
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.
Nice work on trying to segment the information for better readability, can consider using more bullets, whitespaces and different font sizes in order to keep it more consistent. Can consider adding sequence diagrams, and maybe a class diagram to show how different classes interact with each other. Overall good job! 👍
docs/DeveloperGuide.md
Outdated
- [UI component](#ui-component) | ||
- [Parser component](#parser-component) | ||
- [Storage component](#storage-component) | ||
- [Common classes](#common-classes) |
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 link here for the common classes does not seem to be working, perhaps edit the content in the link bracket to be #common-class for it to work?
docs/DeveloperGuide.md
Outdated
4. [Appendix: Requirements](#appendix--requirements) | ||
5. [Appendix: Instructions for manual testing](#appendix--instructions-for-manual-testing) |
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.
These 2 links also do not seem to work when I clicked it, perhaps consider changing the '--' to '-' after 'appendix'?
docs/DeveloperGuide.md
Outdated
x | ||
{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well} | ||
|
||
## Design & implementation | ||
{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the | ||
original source as well} |
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 seems to be duplicate sentences here, can consider updating and filling it up whenever possible!
docs/DeveloperGuide.md
Outdated
![Architecture Diagram](images/ArchitectureDiagram.png) | ||
|
||
The ***architecture diagram*** given above is explains the high level design of the program. | ||
|
||
Given below is a quick overview of the main components and how they interact with each other. | ||
|
||
**Main components of architecture** | ||
|
||
`BrokeMan` has one class [`Main`](https://github.com/AY2223S2-CS2113-F13-2/tp/blob/master/src/main/java/seedu/brokeMan/BrokeMan.java), which is responsible for: | ||
- At program launch: Initialises the components in the correct sequence, and connect them up with each other | ||
- At program termination: Shuts down the components and invokes cleanup methods where necessary. | ||
|
||
[`Common`](#common-class) represents a collection of messages used by multiple other components. |
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
|
||
--- | ||
|
||
## 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.
Can consider to change it to "Implementation" instead
docs/DeveloperGuide.md
Outdated
### Entry | ||
|
||
Entry class is the underlying superclass for Expense and Income classes. It establishes the common attributes and | ||
methods that are necessary to represent Expenses and Incomes. Abstract class is used to represent their common features | ||
to maximize code reusability and increase maintainability. | ||
|
||
Private attributes | ||
|
||
Info: String that stores the description of the entry | ||
|
||
Amount: Double that stores the monetary value of entry | ||
|
||
Time: LocalDateTime that stores the date and time of entry | ||
|
||
Category: Category that stores the type tag of entry | ||
|
||
**Methods** | ||
|
||
Getters can be used to provide the private attributes to other classes | ||
|
||
editDescription(), editAmount(), editTime(), editCategory() | ||
|
||
* Takes in corresponding parameters to edit the private attributes. | ||
* Used by EntryList to make edits | ||
|
||
isSameMonth() |
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.
Nice work having a short summary as a description, can consider bolding "Private attributes" to make it aligned in formatting with the "Methods" that you already bolded below.
Can also consider adding bullets to indent the subpoints "Info, Amount, Time, Category" to increase readability!
Alternatively, maybe you could use a table as another way to display these details :)
docs/DeveloperGuide.md
Outdated
| Priority | Version | As a ... | I want to ... | So that I can ... | | ||
|----------|---------|----------|-------------------------------------------|--------------------------------------------------| | ||
| `* * *` | v1.0 | user | add, delete, edit, and list my income | manage my income | | ||
| `* * *` | v1.0 | user | add, delete, edit, and list my expenses | manage my expenses | | ||
| `* * *` | v1.0 | user | set and view my budget | set expectation of how much money I should use | | ||
| `* * *` | v1.0 | user | view how much of the budget I spend | manage and change my spending habit as necessary | | ||
| `* * *` | v1.0 | user | view all command that I can enter | get help on the features if necessary | | ||
| `* * *` | v2.0 | user | list monthly expenses, income, and budget | refer to financial status in previous months | | ||
| `* * *` | v2.0 | user | save all my income and expenses entered | so that I can refer to it next time I return | |
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.
This is a second User Stories table that is almost similar to the first one above, is this supposed to be combined or meant to be an additional table? Can consider providing just 1 table to reduce confusion 👍
### SaveExpense, SaveIncome | ||
|
||
The SaveExpense and SaveIncome class deal with saving in the user inputted data locally so that it can be later accessed. | ||
**Methods** |
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
SortEntryByAmount() | ||
|
||
* Returns a sorted list of entry by amount of entry. | ||
|
||
SortEntryByDate() |
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.
are these 2 methods meant to be written as sortEntryByAmount
and sortEntryByDate()
instead? To follow the camelCase convention for method naming
Merge an updated upstream
UG update
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, your developer guide is easy to understand, well done!
docs/DeveloperGuide.md
Outdated
|
||
![Architecture Diagram](images/ArchitectureDiagram.png) | ||
|
||
The ***architecture diagram*** given above is explains the high level design of the program. |
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.
You may add the Main class to the diagram
docs/DeveloperGuide.md
Outdated
### Ui component | ||
|
||
### Parser component | ||
|
||
### Command component | ||
|
||
### Storage component | ||
|
||
### EntryList component | ||
|
||
### Common class |
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.
This part is empty, you might want to delete or add the sequence diagrams for each component
docs/DeveloperGuide.md
Outdated
## Instructions for manual testing | ||
## Appendix: Instructions for manual testing | ||
|
||
{Give instructions on how to do a manual product testing e.g., how to load sample data to be used for testing} |
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.
You can try to include how you give some input to the program and how the program should respond. For example:
Input: abc
Expected: Oops, I don't know what that means
docs/DeveloperGuide.md
Outdated
| Priority | Version | As a ... | I want to ... | So that I can ... | | ||
|----------|---------|----------|-------------------------------------------|--------------------------------------------------| | ||
| `* * *` | v1.0 | user | add, delete, edit, and list my income | manage my income | | ||
| `* * *` | v1.0 | user | add, delete, edit, and list my expenses | manage my expenses | | ||
| `* * *` | v1.0 | user | set and view my budget | set expectation of how much money I should use | | ||
| `* * *` | v1.0 | user | view how much of the budget I spend | manage and change my spending habit as necessary | | ||
| `* * *` | v1.0 | user | view all command that I can enter | get help on the features if necessary | | ||
| `* * *` | v2.0 | user | list monthly expenses, income, and budget | refer to financial status in previous months | | ||
| `* * *` | v2.0 | user | save all my income and expenses entered | so that I can refer to it next time I return | |
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.
Well done! I find that priority is a good feature of your user stories as it gives an idea of the most important features in your product
edited user guide
Developer Guide for Save Methods and Classes.
Added multiple J Unit test classes to test EntryList, ExpenseList, and IncomeList.
Add Entry Test
fixed bugs in set budget command
Added details for class implementation.
added samuel's image and updated aboutus.md
Add logging and reduce repetitive testing
fixed UG flaw
Copied readme also to the project root.
updated UG
BrokeMan helps students running on low budget by organizing their budget usage and expenditures. It provides various features to help students minimize their spending and raise awareness on their spendings. It is optimized for CLI users so that budget and expenditure recording can be done quicker through entering commands.