Skip to content

Conversation

@b1inmeister
Copy link

Busyness Manager will be a CLI-based inventory system that will allow users to track stock levels, set reorder alerts, and generate sales reports. Unlike generic inventory apps, there are plans to include Singapore-specific tax calculations (e.g. Goods and Services Tax) and supplier tracking.

@nus-se-bot nus-se-bot closed this Feb 21, 2025
@damithc damithc reopened this Feb 21, 2025
rchlai added a commit to rchlai/tp that referenced this pull request Mar 14, 2025
Ashertan256 pushed a commit to Ashertan256/tp that referenced this pull request Mar 18, 2025
…i-test-settle-function

Add text UI test settle function
b1inmeister and others added 25 commits March 19, 2025 02:18
Add error handling and message printing
The classes used by BusynessManager are all in the main package.
Moreover, some of these classes do not contain JUnit tests.

Putting the classes into separate packages will help with keeping
the code organised and systematic. Implementing JUnit tests will
help to test the code for unexpected issues, thereby increasing
reliability.

Let's
* organise the different classes in BusynessManager into related
packages.
* create JUnit test classes for the classes in the main folder.
Organise classes into packages and create JUnit test classes

The classes used by BusynessManager are all in the main package. Moreover, some of these classes do not contain JUnit tests.

Putting the classes into separate packages will help with keeping the code organised and systematic. Implementing JUnit tests will help to test the code for unexpected issues, thereby increasing reliability.

Let's,
* organise the different classes in BusynessManager into related packages.
* create JUnit test classes for the classes in the main folder.
Our project does not have assertions enabled.

Enabling assertions allows us to use assertions, which is useful
in keeping our code running in the way it should. This is because
it prevents incorrect inputs from running around our code.

Let's edit the build.gradle file to enable assertions.
For some of the command calling methods, the possibility of
negative values for quantity and price can cause the code to
receive incorrect inputs, resulting in the code not working as
expected.

Assertions can help in this aspect by preventing the code from
receiving negative values for quantity and price. Thus, our code
is kept safe from these potentially destructive values.

Let's,
* add assertions in the command calling methods that require
quantity and price to be parameters.
* EXTRA: uncomment printProducts(). (because I forgot).
- Added a detailed User Guide outlining the startup process, features, and command usage.
- Included command syntax, descriptions, and example inputs/outputs for clarity.
- Improved formatting for readability and ease of reference.

This update enhances documentation for new users and developers.
# Conflicts:
#	src/main/java/busynessmanager/BusynessManager.java
#	src/main/java/busynessmanager/managers/InventoryManager.java
#	src/main/java/busynessmanager/managers/SalesManager.java
#	src/main/java/busynessmanager/product/Product.java
Implement BusynessManager as Core Application Controller

This PR has failed the GitHub checks. As a team, we came to the conclusion that it is safe to merge this PR, as the error causing the checks to fail is too trivial. This is because the expected and the actual output are virtually identical.
As the main BusynessManager class has just been merged, it is
disconnected from the rest of the code.

Integrating the BusynessManager class will get the code into a
usable state, allowing us to test its functionality.

Let's integrate the main class into the code.
The Gradle check is failing due to mismatch between the expected
and actual output from the automated text UI tests.

Matching the outputs ensure that the code performs exactly like
how we expect it to.

Let's make some modifications for the automated text UI tests, and
test if the Gradle check continues to fail.
The Gradle check is failing due to mismatch between the expected
and actual output from the automated text UI tests.

Matching the outputs ensure that the code performs exactly like
how we expect it to.

Let's make some modifications for the automated text UI tests, and
test if the Gradle check continues to fail.
The Gradle check is failing due to mismatch between the expected
and actual output from the automated text UI tests.

Matching the outputs ensure that the code performs exactly like
how we expect it to.

Let's make some modifications for the automated text UI tests, and
test if the Gradle check continues to fail.
3. Change the current working directory to the folder containing the `.jar` file.
4. run `java -jar <file name>.jar` on Command Prompt / Terminal.

### Adding a product

Choose a reason for hiding this comment

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

Not tooo sure but the forward slashes in this section seem to be wrongly used. You might want to check if the markdown you have written needs to be corrected.

* **Mainstream OS** - Windows, Linux, Unix, macOS


## Instructions for Manual Testing

Choose a reason for hiding this comment

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

It would be nice to give commands here to make it more readable.

rozaliesmit and others added 27 commits April 7, 2025 15:20
…into bugfix162-164

# Conflicts:
#	docs/UserGuide.md
#	src/main/java/busynessmanager/constants/Constants.java
After merging the master branch, the new code needs to be integrated
into the branch.

Checking the new code and properly integrating into the current
code will prevent problems due to conflicting code from occurring.
It also assures us that the code will perform as expected.

Let's check the new code and integrate it into the existing code.
Bug Fixes 162 to 164.
# Conflicts:
#	docs/UserGuide.md
#	src/main/java/busynessmanager/BusynessManager.java
#	src/main/java/busynessmanager/constants/Constants.java
#	src/main/java/busynessmanager/managers/InventoryManager.java
After merging the master branch, the new code needs to be integrated
into the branch.

Checking the new code and properly integrating into the current
code will prevent problems due to conflicting code from occurring.
It also assures us that the code will perform as expected.

Let's check the new code and integrate it into the existing code.
The Gradle check is failing, some lines of code are too long.

Controlling the length of lines in our code ensures that coding
standards are adhered to.

Let's edit the length of the lines of code that are violating the
coding standards.
The Gradle check is failing, as the JUnit tests are failing.

Checking the JUnit tests will ensure that the methods in our code
work as expected.

Let's check the JUnit tests and modify them if necessary.
The Gradle check is failing, as the expected outputs from the
automated text UI tests differ from the actual output.

Verifying that the automated text UI tests' expected outputs match
the actual outputs enables our program to be regression tested,
which checks that the functionality within the program works.

Let's edit the expected outputs of the automated text UI tests, and
check if the Gradle check passes.
Bug Fixes: 171 to 183 & Miscellaneous Changes
Issue165 + Minor fixes, including updates to PPP and DG
- Added a line in the login process of the User Guide to inform users that they are able to have multiple businesses one one device.
- Each business will have their own .txt file.
- This is to improve clarity and coherence of the User Guide, ultimately leading to better user experience.
Update User Guide

* Added a line in the login process of the User Guide to inform users that they are able to have multiple businesses one one device.
* Each business will have their own .txt file.
* This is to improve clarity and coherence of the User Guide, ultimately leading to better user experience.
Before releasing the next version, the code needs to be tidied up.

Checking the code will ensure that what we created is correct and
working. It will also enable us to find any last-minute bugs for
correction.

Let's look through the working and test code, and check for any
irregularities.
Before releasing the next version, the documentation needs to line
up with the code.

Checking the documentation will ensure that the information relayed
to readers is up-to-date and accurate.

Let's look through the documentation, and check for any
irregularities.
Fix last changes
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.