-
Notifications
You must be signed in to change notification settings - Fork 101
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-F10-2] ClubInvMgr #25
base: master
Are you sure you want to change the base?
[CS2113-F10-2] ClubInvMgr #25
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.
Generally the DG is easy to read and understand
The `UI` component | ||
- Displays salutations, prompts for user input, error messages and results of queries. | ||
- Reads in user inputs | ||
- Depends on the `Messages` and `InvMgrException` classes in the `Common` component. It displays messages stored in the `Messages` class and displays an error message whenever `InvMgrException` is invoked. |
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.
Introducing this component out of the blue can be quite confusing, especially when InvMgrException is in the exceptions package instead of common
@@ -4,26 +4,167 @@ | |||
|
|||
{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well} | |||
|
|||
## Design & implementation | |||
## Design |
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.
Consider adding an overall class diagram and introduce the major components so that it would not very confusing below when components are named suddenly.
docs/DeveloperGuide.md
Outdated
a `Command` class based on the user input. | ||
|
||
### Command Component | ||
![CommandClassDiagram](img/CommandClassDiagram.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.
Consider enlarging this diagram as the words are significantly smaller than the other diagrams
+ getRawUserInput(): String | ||
} | ||
|
||
InvMgr --> "1" Ui |
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.
Should this be a composition instead?
docs/DeveloperGuide.md
Outdated
![DescCommandSequenceDiagram](img/DescCommandSequenceDiagram.png) | ||
The following diagram shows the sequence diagram for retrieving the description of an item. | ||
|
||
For a user who is unaware of what an item is about, he/she can enter the command eg. `desc 2` command to extract the description for the second item in the inventory list. This command is interpreted by the `Parser` and a `DescCommand` is returned to `InvMgr`. `InvMgr` calls the execute command of `DescCommand` which retrieves the item's information from the `ItemList` and then outputs them into the `Ui` for the user to see. |
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
| v1.0 | Manager | Add a new item to the inventory | Update my inventory | | ||
| v1.0 | Manager | Remove an item from the inventory | Update my inventory | | ||
| v1.0 | Stocktaker | list out all my items | View all my items at a glance | | ||
| v1.0 | New user | List out all possible commands | I can familiarise myself with using the system | | ||
| v1.0 | User who has not seen items physically | Get the description of a particular item | I can visualise the item better to know if it is what i need | | ||
| v1.0 | As a frequent/first time user | Write to a file containing the entire inventory | Save my inventory data to a file | | ||
| v1.0 | Stocktaker | Read from and load an inventory file data | To work on and view the data | |
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 you can update the user stories with those you have selected for V2.0?
docs/DeveloperGuide.md
Outdated
|
||
## Design & implementation | ||
## Design | ||
|
||
{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.} | ||
### Application Launch | ||
|
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.
Consider adding a content page or navigation bar with hyperlink to improve navigability and document formatting
docs/DeveloperGuide.md
Outdated
![ListCommandSequenceDiagram](img/ListCommandSequenceDiagram.png) | ||
|
||
The following diagram shows the sequence diagram of the listing of items in `itemList`. | ||
|
||
The user starts by typing a list command. | ||
|
||
1. `InvMgr` calls `parse("list")` method in `Parser` class, which returns a ListCommand object. | ||
2. `InvMgr` calls `execute(itemList, ui)` method in `ListCommand` object. | ||
3. `ListCommand` loops through every `Item` in `itemList` and prints them line by line | ||
and numbers them. |
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.
{Describe the value proposition: what problem does it solve?} | ||
1. Centralised management of resources that ensures accurate and timely allocation of equipment to students | ||
2. Increases the ease and efficiency of resource management | ||
3. More organised |
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.
Consider elaborating on this value proposition as it is quite vague. Could possible extend to be similiar like point 1.
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 are some minor things that can be improved (as shown in others' comments also), but generally it looks quite good 👍🏻
docs/DeveloperGuide.md
Outdated
a `Command` class based on the user input. | ||
|
||
### Command Component | ||
![CommandClassDiagram](img/CommandClassDiagram.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.
You may also consider changing the way you arrange the boxes (to not in one line) to make the words larger but keep the diagram in a reasonable size.
6. `AddCommand` will converse with `Ui` to show a message that the item has been added. In this case, the item to add will be printed as the name of the item, followed by " has been added!". | ||
|
||
### Delete Command | ||
![DeleteCommandSequenceDiagram](img/DeleteCommandSequenceDiagram.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.
Some of the diagrams are above the "The following diagram" line while others are below. You may consider keeping it consistent :D
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.
Looks good in overall. May require some minor changes and add in the remaining sections.
|
||
### List Command | ||
![ListCommandSequenceDiagram](img/ListCommandSequenceDiagram.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.
### Parser Component | ||
|
||
![ParserClassDiagram](img/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.
### Parser Component | ||
|
||
![ParserClassDiagram](img/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.
The format of attributes should be
NameOfAttribute : DataTypeOfAttribute
docs/DeveloperGuide.md
Outdated
|
||
### Description Command | ||
![DescCommandSequenceDiagram](img/DescCommandSequenceDiagram.png) | ||
The following diagram shows the sequence diagram for retrieving the description of an item. |
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.
…alDate BorrowStatus had no way of being updated before. To keep the listob, listfb commands relevant to the current date, Let's - Write an adapter for BorrowRecord - Update the BorrowStatus everytime Storage loads in data
Refactor CommandStubs to ItemList Stubs Added equals() check for BorrowRecords, needed for equality check in Storage tests
This is to help resolve the JSON serializer issue when storing the data.
Java, by default, adds references of objects into arraylist. This means the original Items in ItemList may be modified. This may result in a race condition! Each test are given their own threads to execute in JUnit. To fix this, we should clone the Item and add them to the list before returning the itemlist. Let's - Implement clone() for BorrowRecord, needed for deep copying - Implement a deep copy of Item() in its clone method to clone BorrowRecord - Change ItemListStubs to generate new mutable ItemLists that are clones of the specified Items.
…into branch-general-bugfix
Update BorrowRecord and BorrowCommand
…into branch-general-bugfix Adapted new code into BorrowRecordAdapter
Cloneable and clone is frowned upon. Let's remove its usages and create manual copies through a copyItem()/copyBorrowRecord() instead.
Some weird, undiagnosable behaviour happened when the lists were globally defined in ItemListStubs. Defining them locally (within the CommandTest) seems to resolve the issue
Updates DG with ReturnCommand, LostCommand and HelpCommand implementation details
…into A-UserGuide # Conflicts: # docs/UserGuide.md
…into A-DeveloperGuide # Conflicts: # docs/DeveloperGuide.md
…into ChihYing-AboutUs
…ommand Add ListFutureBookingsTest
Update DeveloperGuide
Updates portfolio links
Update to UserGuide
Update Jasper PPP (Final)
Modifies portfolio links
Updates PPP
Update user stories for v2.1
Updates to PPP: lestersimjj
Update DeveloperGuide.md for Jasper
Update PPP link in AboutUs.md for IncompetentDev
ClubInvMgr is a desktop CLI app for inventory management for CCA clubs, especially for fast typists who can accomplish tasks quickly by typing out commands.