______ _ _________
.' ___ | (_)| _ _ |
/ .' \_| __ |_/ | | \_|
| | ____[ | | |
\ `.___] || | _| |_
`._____.'[___] |_____|
Welcome to GiT, Grocery in Time, a Java application designed for efficient grocery management. This tool helps users monitor their groceries, including tracking expiration dates, managing inventory quantities, and setting alerts for low stock or soon-to-expire items.
- Java JDK 11: Ensure you have Java Development Kit (JDK) 11 installed on your system. It is essential for running the application. You can download it from Oracle's JDK download page.
-
Download the latest release
- Download the
GiT.jarfile from the Releases section on the project's GitHub page or from the distribution email/website.
- Download the
-
Run the application
- Open a terminal or command prompt.
- Navigate to the directory where
GiT.jaris located. - Execute the following command to run the application:
java -jar GiT.jar
- Groceries Management: Add, edit, and delete grocery items with detailed commands. Manage your inventory by setting categories, amounts, expiration dates, and storage locations. Examples include
add GROCERY,del GROCERY, andedit GROCERY. - Calorie Management: Track calorie intake by logging food consumption and viewing total calories. Commands like
eat FOODandviewhelp maintain dietary goals. - Recipe Management: Add, view, and manage recipes. Store detailed recipes including ingredients and cooking steps, and find recipes using keywords with commands such as
add RECIPE,view RECIPE, andfind KEYWORD. - Profile Management: Customize user profiles to support calorie management based on individual dietary needs. Update personal information and view user details with commands like
updateandview.
Upon launching GiT, you will be greeted with a simple text-based user interface.
- Switch Mode:
switch- Switches the application between different modes (grocery, profile, calories, recipe).
- Exit:
exit- Closes the application.
Manage your grocery items effectively using these commands:
- Add Grocery:
add GROCERY - Edit Grocery: Multiple commands to set category, amount, location, etc.
- Delete Grocery:
del GROCERY - List Groceries: Multiple listing options based on category, price, expiration, etc.
- Find Grocery:
find KEYWORD - Grocery Details:
view GROCERY
Track and manage your daily calorie intake:
- Add Food Consumption:
eat FOOD - View Calorie Intake:
view
Manage user profile for personalized calorie tracking:
- Update Profile:
update - View Profile:
view
Store and manage recipes:
- Add Recipe:
add - View Recipes: Multiple commands to view, list, find, and edit recipes.
- Delete Recipe:
delete RECIPE
GiT automatically saves your data in the /data folder located in the same directory as the JAR file. The data includes separate files for groceries, calories, profile, and recipes.
Modifying data files manually can corrupt them. Always back up your data before making manual changes.
| Command | Description | Format |
|---|---|---|
| Common | ||
| Switch | Switch application mode | switch |
| Exit | Close the application | exit |
| Grocery Management | ||
| Add | Add a grocery item | add GROCERY |
| Delete | Delete a grocery item | del GROCERY |
| List | List groceries | Multiple formats |
| Calories Management | ||
| Eat | Log food consumption | eat FOOD |
| View | View calorie intake | view |
| Profile Management | ||
| Update | Update user profile | update |
| View | View user profile | view |
| Recipe Management | ||
| Add | Add a new recipe | add RECIPE |
| Delete | Delete a recipe | delete RECIPE |
- This project uses Gradle for build automation and dependency management. It includes a basic build script as well (i.e. the
build.gradlefile). - 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-testand run theruntest(.bat/.sh)script.
- A skeleton JUnit test (
src/test/java/seedu/duke/DukeTest.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.
The project uses GitHub actions for CI. When you push a commit to this repo or PR against it, GitHub actions will run automatically to build and verify the code as updated by the commit/PR.
/docs folder contains a skeleton version of the project documentation.
Interested in contributing? Great! Please fork the project and submit a pull request with your proposed changes. Detailed instructions on setting up your development environment and the contribution guidelines can be found in the CONTRIBUTING.md file.
This project is licensed under the MIT License - see the LICENSE.md file for details.