Skip to content

Commit

Permalink
Merge pull request #460 from RichDom2185/week12/update-documentation
Browse files Browse the repository at this point in the history
Update documentation
  • Loading branch information
RichDom2185 authored Nov 6, 2022
2 parents be20005 + b025e96 commit 8668109
Show file tree
Hide file tree
Showing 75 changed files with 681 additions and 477 deletions.
5 changes: 3 additions & 2 deletions .markdownlint.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"style": "---"
},
"MD044": { // Proper names should have the correct capitalization
"names": ["FoodRem", "User Guide", "Developer Guide"],
"names": ["FoodRem", "User Guide", "Developer Guide", "Command Input Box", "Command Output Box", "Item List Box"],
"code_blocks": false
},
"MD046": { // Code block style
Expand All @@ -30,5 +30,6 @@
},
"MD050": { // Strong style should be consistent
"style": "asterisk"
}
},
"MD051": false // Link fragments should be valid
}
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[![CI Status](https://github.com/AY2223S1-CS2103T-W16-2/tp/workflows/Java%20CI/badge.svg)](https://github.com/AY2223S1-CS2103T-W16-2/tp/actions)
[![codecov](https://codecov.io/gh/AY2223S1-CS2103T-W16-2/tp/branch/master/graph/badge.svg)](https://codecov.io/gh/AY2223S1-CS2103T-W16-2/tp)
 [![CI Status](https://github.com/AY2223S1-CS2103T-W16-2/tp/workflows/Build/badge.svg)](https://github.com/AY2223S1-CS2103T-W16-2/tp/actions)
 [![codecov](https://codecov.io/gh/AY2223S1-CS2103T-W16-2/tp/branch/master/graph/badge.svg)](https://codecov.io/gh/AY2223S1-CS2103T-W16-2/tp)

![Ui](docs/images/Ui.png)

Expand All @@ -11,4 +12,4 @@ FoodRem is an Inventory Management System that empowers small food and beverage
## Acknowledgements

<!-- TODO: Check that this matches {{ site.data.foodrem.acknowledgements }} -->
FoodRem is a brownfield software project based off [AddressBook3](https://se-education.org/addressbook-level3/), taken under the [CS2103T Software Engineering module](https://nus-cs2103-ay2223s1.github.io/website/index.html) held by the School of Computing at the National University of Singapore.
FoodRem is a brownfield software project based off [AddressBook Level-3](https://se-education.org/addressbook-level3/), taken under the [CS2103T Software Engineering module](https://nus-cs2103-ay2223s1.github.io/website/index.html) held by the School of Computing at the National University of Singapore.
12 changes: 6 additions & 6 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ title: About Us
<!-- Due to grading script explicitly checking for an `img` tag -->
<!-- markdownlint-disable-file no-inline-html -->

We are a team based in the [School of Computing, National University of Singapore](http://www.comp.nus.edu.sg).
We are a team based in the [School of Computing, National University of Singapore](https://comp.nus.edu.sg).

You can reach us at the email `seer[at]comp.nus.edu.sg`

Expand All @@ -16,7 +16,7 @@ You can reach us at the email `seer[at]comp.nus.edu.sg`
<img src="images/ferusel.png" width="200px">

[[github](https://github.com/ferusel)]
[[portfolio](team/ferusel.md)]
[[portfolio](team/ferusel)]

* Role: Team Lead

Expand All @@ -25,7 +25,7 @@ You can reach us at the email `seer[at]comp.nus.edu.sg`
<img src="images/bryanljx.png" width="200px">

[[github](https://github.com/bryanljx)]
[[portfolio](team/bryanljx.md)]
[[portfolio](team/bryanljx)]

* Role: Tech Lead

Expand All @@ -34,7 +34,7 @@ You can reach us at the email `seer[at]comp.nus.edu.sg`
<img src="images/richdom2185.png" width="200px">

[[github](https://github.com/RichDom2185)]
[[portfolio](team/richdom2185.md)]
[[portfolio](team/richdom2185)]

* Role: Tech Lead

Expand All @@ -43,7 +43,7 @@ You can reach us at the email `seer[at]comp.nus.edu.sg`
<img src="images/eugenetanwl3881.png" width="200px">

[[github](https://github.com/eugenetanwl3881)]
[[portfolio](team/eugenetanwl3881.md)]
[[portfolio](team/eugenetanwl3881)]

* Role: Documentation

Expand All @@ -52,6 +52,6 @@ You can reach us at the email `seer[at]comp.nus.edu.sg`
<img src="images/yixiann.png" width="200px">

[[github](https://github.com/yixiann)]
[[portfolio](team/yixiann.md)]
[[portfolio](team/yixiann)]

* Role: Secretary
3 changes: 2 additions & 1 deletion docs/Configuration.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
layout: page
title: Configuration guide
title: Configuration Guide
---
{% include toc.md header=true ordered=true %}

## Configuration

Certain properties of the application can be controlled (e.g user preferences file location, logging level) through the configuration file (default: `config.json`).
4 changes: 1 addition & 3 deletions docs/DevOps.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
layout: page
title: DevOps guide
title: DevOps Guide
---
{% include toc.md header=true ordered=true %}

Expand Down Expand Up @@ -56,8 +56,6 @@ Any warnings or errors will be printed out to the console.
* LINE is the line of the file where the error occurred and MESSAGE is the message explaining the error.
* Check scripts must exit with a non-zero exit code if any errors occur.

---

## Making a release

Here are the steps to create a new release.
Expand Down
1 change: 1 addition & 0 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ Refer to the guide [_Setting up and getting started_](SettingUp.md).
## Documentation, Configuration, and Other Guides

Here are some links to other documentations you might find useful:

* [Documentation guide](Documentation.md)
* [Testing guide](Testing.md)
* [Logging guide](Logging.md)
Expand Down
4 changes: 2 additions & 2 deletions docs/Documentation.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
layout: page
title: Documentation guide
title: Documentation Guide
---
{% include toc.md header=true ordered=true %}

Expand All @@ -14,7 +14,7 @@ title: Documentation guide
* :bulb: In addition to updating content files, you might have to update the config files `docs\_config.yml` and `docs\_sass\minima\_base.scss` (which contains a reference to `AB-3` that comes into play when converting documentation pages to PDF format).
* If you are using Intellij for editing documentation files, you can consider enabling 'soft wrapping' for `*.md` files, as explained in [_[se-edu/guides] **Intellij IDEA: Useful settings**_](https://se-education.org/guides/tutorials/intellijUsefulSettings.html#enabling-soft-wrapping)

## Style guidance
## Style Guide

* Follow the [**_Google developer documentation style guide_**](https://developers.google.com/style)

Expand Down
3 changes: 2 additions & 1 deletion docs/Logging.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
---
layout: page
title: Logging guide
title: Logging Guide
---
{% include toc.md header=true ordered=true %}

## Logging

* We are using `java.util.logging` package for logging.
* The `LogsCenter` class is used to manage the logging levels and logging destinations.
* The `Logger` for a class can be obtained using `LogsCenter.getLogger(Class)` which will log messages according to the specified logging level.
Expand Down
2 changes: 1 addition & 1 deletion docs/SettingUp.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
layout: page
title: Setting up and getting started
title: Setting Up and Getting Started
---

{% include toc.md header=true ordered=true %}
Expand Down
2 changes: 1 addition & 1 deletion docs/Testing.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
layout: page
title: Testing guide
title: Testing Guide
---

{% include toc.md header=true ordered=true %}
Expand Down
2 changes: 1 addition & 1 deletion docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ show-toc: true

{% include_relative _ug/Installation.md %}

## Quickstart Guide
## Quick Reference Guide

{% include_relative _ug/QuickstartGuide.md %}

Expand Down
18 changes: 18 additions & 0 deletions docs/_data/constraints.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
boughtNotAfterExpiry: >-
The `BOUGHT_DATE` should not be after the `EXPIRY_DATE`.
dateFormat:
summary: >-
The format for `BOUGHT_DATE` and `EXPIRY_DATE` should follow: "dd-mm-yyyy".
day: >-
"dd": Day of the month. For example, "10" would represent the 10th day of the month.
month: >-
"mm": Month of the year, ranging from 1 to 12 for January to December respectively. For example, "05" would represent May.
year: >-
"yyyy": A 4-digit year. For example, "2019" would represent the year 2019.
lastValueOfDuplicates: >-
If two or more values of the same parameter are provided, only the last value for that parameter will be taken.
priceIsWithoutSymbol: >-
`PRICE` do not require you to include the currency. Only include the value.
13 changes: 4 additions & 9 deletions docs/_data/foodrem.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
acknowledgements: >-
FoodRem is a brownfield software project based off [AddressBook3](https://se-education.org/addressbook-level3/),
taken under the [CS2103T Software Engineering module](https://nus-cs2103-ay2223s1.github.io/website/index.html)
held by the School of Computing at the National University of Singapore.
FoodRem is a brownfield software project based off [AddressBook Level-3](https://se-education.org/addressbook-level3/), taken under the [CS2103T Software Engineering module](https://nus-cs2103-ay2223s1.github.io/website/index.html) held by the School of Computing at the National University of Singapore.
about:
summary: >-
FoodRem is an **Inventory Management System** that empowers small food and beverage (F&B) restaurant managers
to manage inventory and obtain insights from inventory data. As a restaurant manager, leverage upon FoodRem's
own **Inventory Management System**, where you can manage your inventory during your daily operations. Utilize
FoodRem's flexible **tagging system** to help you organize your inventory according to your business needs.
Finally, streamline your business decisions by deriving insights from your inventory usage through FoodRem's
**statistics**, keeping track of vital data such as food wastage.
FoodRem is an **Inventory Management System** that empowers small food and beverage (F&B) restaurant managers to manage inventory and obtain insights from inventory data. As a restaurant manager, you can manage your inventory during your daily operations. Utilize FoodRem's flexible **tagging system** to help you organize your inventory according to your business needs. Finally, streamline your business decisions by deriving insights from your inventory usage through FoodRem's **statistics**, keeping track of vital data such as food wastage.
summary_dg: >-
FoodRem is an **Inventory Management System** that empowers small food and beverage (F&B) restaurant managers to manage inventory and obtain insights from inventory data. Users can leverage upon FoodRem's **Inventory Management System** during their daily operations. FoodRem's **tagging system** to helps users organize their inventory according to their business needs. FoodRem also derives insights from inventory usage through FoodRem's **statistics**.
5 changes: 3 additions & 2 deletions docs/_dg/AboutDG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<!-- markdownlint-disable-file first-line-h1 -->
FoodRem is an **Inventory Management System** that empowers small food and beverage (F&B) restaurant managers to manage inventory and obtain insights from inventory data. Users can leverage upon FoodRem's **Inventory Management System** during their daily operations. FoodRem's **tagging system** to helps users organize their inventory according to their business needs. FoodRem also derives insights from inventory usage through FoodRem's **statistics**.
<!-- markdownlint-disable-next-line proper-names -->
{{ site.data.foodrem.about.summary_dg }}

This Developer Guide provides an in-depth documentation on how FoodRem is designed and implemented. It covers the architecture of FoodRem, detailed specifications on smaller pieces of the design, and an outline of all parts of the software and how they will work.
This Developer Guide provides an in-depth documentation on how FoodRem is designed and implemented. It covers the architecture of FoodRem, detailed specifications on smaller pieces of the design, and an outline of all parts of the software and how they will work.

You can use this guide to maintain, upgrade, and evolve FoodRem.

Expand Down
2 changes: 1 addition & 1 deletion docs/_dg/Architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ The rest of the App consists of four components.

#### How the architecture components interact with each other

The _Sequence Diagram_ below shows how the components interact with each other for the scenario where the user issues the command `del 1`. This deletes the first item from the Item List Box.
The _Sequence Diagram_ below shows how the components interact with each other for the scenario where the user issues the command `del 1`. This deletes the first item from the [[ item-list-box:Item List Box ]].

![](images/ArchitectureSequenceDiagram.png)

Expand Down
3 changes: 2 additions & 1 deletion docs/_dg/Design.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@

This section gives you a high-level overview of how the application is structured and what the key components are in FoodRem.

The [Architecture](#architecture) section gives an overview of how the main components in FoodRem interact with one another.
The [Architecture](#architecture) section gives an overview of how the main components in FoodRem interact with one another.

FoodRem has four main components and each section describe smaller subcomponents within them.
The main conponents are namely:

1. [Ui Component](#ui-component)
1. [Logic Component](#logic-component)
1. [Model Component](#model-component)
Expand Down
4 changes: 1 addition & 3 deletions docs/_dg/Effort.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
<!-- markdownlint-disable-file first-line-h1 -->

Implementing FoodRem was not a straightforward task. Given below is a summary of the effort our team has put into to develop FoodRem as well as some challenges faced.

### Morphing of AB3 to FoodRem
Expand All @@ -8,7 +7,6 @@ As we wanted to morph AB3 to fit into our idea of FoodRem, we had to refactor a

One challenge we ran into during the project was implementing a batch feature for our items. We wanted to be able to create same items but of different batches (i.e. same name but different bought date and expiry date). However, this would require another major refactoring of the classes we have, as well as the commands that we have implemented thus far in the project. Given the tight timeline of the team project, we eventually decided to drop this feature since we will not be able to deliver the full functionality (along with updating every other command we have implemented thus far) in time. If given more time, this would have been a feature which we would have implemented as it is a relevant feature that will be used in the real world which brings value to our target users.


### Revamping of UI

We wanted a simple yet appelaing user interface for our application users. As such we decided to change the original UI of AB3 into our own new FoodRem UI. As our team is not familiar with JavaFX initially, it took us considerable time and effort to produce an eventual satisfactory and working UI that we were proud to adopt and incorporate into our application.
We wanted a simple yet appealing user interface for our application users. As such we decided to change the original UI of AB3 into our own new FoodRem UI. As our team is not familiar with JavaFX initially, it took us considerable time and effort to produce an eventual satisfactory and working UI that we were proud to adopt and incorporate into our application.
2 changes: 1 addition & 1 deletion docs/_dg/HowToUseDeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ You do not need to read the Developer Guide in a sequential order. However, we r
The Developer Guide has six main components:

1. [Design](#design)
1. [Implementation](#implementation)
1. [Implementation](#implementation)
1. [Documentation, Configuration and Other Guides](#documentation-configuration-and-other-guides)
1. [Requirements](#requirements)
1. [Instructions for manual testing](#instructions-for-manual-testing)
Expand Down
1 change: 1 addition & 0 deletions docs/_dg/Implementation.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
This section shares with you some noteworthy details on how certain features are implemented.

There are four main groups of features that are implemented:

1. [Item-related Features](#item-related-features)
1. [Tag-related Features](#tag-related-features)
1. [Statistics Features](#statistics-features)
Expand Down
23 changes: 16 additions & 7 deletions docs/_dg/InstructionsForManualTesting.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,48 +16,57 @@ These instructions only provide a starting point for testers to work on; testers

#### Create a new Item

1. Test case: `new n/Potato qty/2 u/kg bgt/10-10-2022 exp/11-11-2022 p/4 r/favourite` <br> Expected Output in Item List Box: New item added into the list. <br> Expected Output in Command Output Box: New item added message and its details.
1. Test case: `new qty/2` <br> Expected Output in Command Box: Error message for invalid command format.
1. Test case: `new n/Potato qty/2 u/kg bgt/10-10-2022 exp/11-11-2022 p/4 r/favourite` <br> Expected Output in [[ item-list-box:Item List Box ]]: New item added into the list. <br> Expected Output in [[ command-output-box:Command Output Box ]]: New item added message and its details.
1. Test case: `new qty/2` <br> Expected Output in Command Output Box: Error message for invalid command format.

#### List all items
#### List all items

Prerequisite: There is at least 1 item stored in FoodRem.

1. Test case: `list`<br> Expected Output in Item List Box: All items stored in FoodRem displayed. <br>Expected Output in Command Output Box: Listed all items message.

#### Search for an Item

Prerequisite: Suppose there is only one item named `Potato` stored in FoodRem.
1. Test case: `find Potato`<br> Expected Output in Item List Box: `Potato` item displayed. <br>Expected Output in Command Output Box: 1 item listed message.
2. Test case: `find strawberry` <br>Expected Output in Item List Box: No items displayed. <br>Expected Output in Command Output Box: 0 item listed message.

1. Test case: `find Potato`<br> Expected Output in Item List Box: `Potato` item displayed. <br>Expected Output in Command Output Box: 1 item listed message.
1. Test case: `find strawberry` <br>Expected Output in Item List Box: No items displayed. <br>Expected Output in Command Output Box: 0 item listed message.

#### Sort all items by an attribute

Prerequisite: Suppose there are a few items stored in FoodRem and shown in Item List Box with different names.

1. Test case: `sort n/` <br> Expected Output in Item List Box: Items sorted in ascending alphabetical order based on name. <br>Expected Output in Command Output Box: Items sorted message.

#### View the information of an Item

Prerequisite: Suppose there is at least 1 item shown in the Item List Box.
Prerequisite: Suppose there is at least 1 item shown in the Item List Box.

1. Test case: `view 1` <br> Expected Output in Item List Box: Still showing the same list as before. <br>Expected Output in Command Output Box: Details of first item in Item List Box shown. Displayed information includes the name, quantity, unit, bought date, expiry date, price, remarks and tags of items.

#### Increment the quantity of an item

Prerequisite: Suppose the first item in the Item List Box has a quantity of 1.

1. Test case: `inc 1 qty/2` <br> Expected Output in Item List Box: Still showing the same list as before but with first item quantity increased by 2 <br>Expected Output in Command Output Box: Incremented item quantity message with details of first item in Item List shown.

#### Decrement the quantity of an item

Prerequisite: Suppose the first item in the Item List Box has a quantity of 3.

1. Test case: `dec 1 qty/2` <br> Expected Output in Item List Box: Still showing the same list as before but with first item quantity decreased by 2 <br>Expected Output in Command Output Box: Decremented item quantity message with details of first item in Item List shown.
`

#### Edit the information of an item

Prerequisite: Suppose the first item in the Item List Box has a name of `Potato`.
1. Test case: `edit 1 n/Tomato` <br> Expected Output in Item List Box: The `Potato`item has been renamed to `Tomato` and this is now reflected in item List Box<br> Expected Output in Command Output Box: Item edited message with details of the edited item shown.

1. Test case: `edit 1 n/Tomato` <br> Expected Output in Item List Box: The `Potato`item has been renamed to `Tomato` and this is now reflected in Item List Box<br> Expected Output in Command Output Box: Item edited message with details of the edited item shown.

#### Add a remark to an item

Prerequisite: Suppose the first item in the Item List Box has no remarks.

1. Test case: `rmk 1 r/For Party` <br> Expected Output in Item List Box: Same list as shown before<br> Expected Output in Command Output Box: Remark updated message with details of the item that has remark updated shown.

#### Deleting an Item
Expand Down
2 changes: 0 additions & 2 deletions docs/_dg/UserStories.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,3 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
| `* * *` | purchasing manager | delete a tag | I can remove tags that will not be used anymore |
| `* * *` | purchasing manager | add a tag to an item | I can classify an item via this certain tag |
| `* * *` | purchasing manager | remove a tag from an item | I can choose not to classify an item via this certain tag |


2 changes: 1 addition & 1 deletion docs/_dg/implementations/ItemFeatures.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@
The `sort` feature sorts the list of items currently displayed to the user by specified flag(s). It is possible to sort by one or more criteria. A list of available criteria for sorting includes:

* Name
* Unit
* Quantity
* Unit
* Bought Date
* Expiry Date

Expand Down
Loading

0 comments on commit 8668109

Please sign in to comment.