Inventra is a command-line, greenfield Java project designed for small to medium-sized businesses. It provides robust tools for inventory and logistics management, enabling business owners to track stock, manage orders, and gain insights into operational efficiencies.
Below are instructions on setting up and using Inventra:
- Prerequisites: JDK 17 (use this exact version).
- IntelliJ IDEA, updated to the most recent version.
- Ensure Intellij JDK 17 is defined as an SDK, as described here -- this step is not needed if you have used JDK 17 in a previous Intellij project.
- Import the project as a Gradle project, as described here.
- Verify the setup: After the importing is complete, locate the
src/main/java/seedu/inventra/Inventra.java
file, right-click it, and chooseRun Inventra.main()
. If the setup is correct, you should see:Type 'help' word and press enter to see Inventra's manual.> Task :compileJava > Task :processResources NO-SOURCE > Task :classes > Task :seedu.inventra.Inventra.main() Finished loading CSV file. Welcome to ___ _ ___ _______ _ _ _____ ____ _ |_ _| \ | \ \ / / ____| \ | |_ _| _ \ / \ | || \| |\ \ / /| _| | \| | | | | |_) | / _ \ | || |\ | \ V / | |___| |\ | | | | _ < / ___ \ |___|_| \_| \_/ |_____|_| \_| |_| |_| \_\/_/ \_\ Type help to receive manual.
- This project uses Gradle for build automation and dependency management. It includes a basic build script as well (i.e. the
build.gradle
file). - If you are new to Gradle, refer to the Gradle Tutorial at se-education.org/guides.
- To run I/O redirection tests (aka Text UI tests), navigate to the
text-ui-test
and run theruntest(.bat/.sh)
script.
- A skeleton JUnit test (
src/test/java/seedu/inventra.java
) is provided with this project template. - If you are new to JUnit, refer to the JUnit Tutorial at se-education.org/guides.
- A sample CheckStyle rule configuration is provided in this project.
- If you are new to Checkstyle, refer to the Checkstyle Tutorial at se-education.org/guides.
Inventra uses GitHub Actions for Continuous Integration (CI). Whenever you push commits or create a pull request (PR), GitHub actions will automatically build the project and run tests to ensure that everything is working as expected.
/docs
folder contains the Inventra User Guide, Developer Guide, and Developer's information (for your reference).
- Custom Field Management: Create and manage fields dynamically based on user's own customization (e.g. name, quantity, price).
- Inventory Tracking: A real-time, resilient system designed to ensure seamless management of items in your inventory.
- Storage persistency: provides continuous and reliable inventory tracking, even in the face of unexpected disruptions.
- Command-Driven Interface: Execute commands for quick, efficient operations.