HomeBoss User Guide
Welcome to the HomeBoss User Guide!
HomeBoss is a powerful desktop application designed specifically for home-based business owners, offering efficient Customer and Delivery management solutions. HomeBoss streamlines your administrative processes and elevate your overall business experience to new heights.
HomeBoss allows you to:
HomeBoss improves your efficiency and productivity in managing your Customers and Deliveries, all while being incredibly simple to use. HomeBoss is not only tailored for fast typists, leveraging a Command Line Interface (CLI) for swift command execution, but it also features an elegant Graphical User Interface (GUI) that presents your data in a more refined and organized fashion.
HomeBoss ensures that you focus on what matters most: running your business.
1. Introduction
2. Table of Contents
3. About this User Guide
4. Navigating the User Guide
5. Getting Started
5.1. Prerequisites
5.2. Installing HomeBoss
5.3. Understanding our layout
5.4. HomeBoss Command Format
5.5. Registering and creating your first Delivery
5.6. Editing the data files
6. Feature Summary
6.1. User features summary
6.2. Customer features summary
6.3. Delivery features summary
6.4. Miscellaneous features summary
7. Features
7.1. User
7.1.1. Register
7.1.2. Login
7.1.3. Update Account details
7.1.4. Logout
7.1.5. Recover Account
7.1.6. Delete Account
7.2. Customer
7.2.1. Add a Customer
7.2.2. View details of a Customer
7.2.3. View a list of Customers
7.2.4. Find Customers
7.2.5. Update details of a Customer
7.2.6. Delete a Customer
7.3. Delivery
7.3.1. Add a Delivery
7.3.2. View details of a Delivery
7.3.3. View a list of Deliveries
7.3.4. Find Deliveries
7.3.5. Update details of a Delivery
7.3.6. Update status of a Delivery
7.3.7. Create a note for a Delivery
7.3.8. Delete a Delivery
7.4. Miscellaneous
7.4.1. Help
7.4.2. Exit
7.4.3. Clear
8. FAQ
9. Command Summary
This user guide provides in-depth documentation on HomeBoss' installation process, explanation of its graphical components, the structure of the commands and features available to the User. In addition, this guide also provides troubleshooting tips and answers to frequently asked questions.
If you are new to HomeBoss, head over to the Getting Started section for a quick overview on how to get started.
You can find detailed explanations of all the features available in the Features section.
For experienced users, you may refer to the Command Summary section for a quick summary of all the commands available in HomeBoss.
If you would like to learn about the technical aspects of HomeBoss, you may refer to the Developer Guide.
Warning Box
Warning: Provides you with important information to take note of to avoid any unintended effects!
Note Box
Note: Provides you with information that is useful to know.
Tip Box
Tip(s): Provides you with information that can help enhance your user experience but is not necessary to know.
Parameter Box
Parameter(s): Parameters are inputs that you can customise to your needs. They are typically preceded by a prefix. If you're unsure what a prefix is, you can refer to the HomeBoss Command Format section.
Links
Words in blue are links that you can click on to navigate to the relevant section.
A ↑ Back to Table of Contents link is available at the end of every section for you to return to the Table of Contents, so that you can access another section from there easily.
Syntax Highlighting
Words in code COLOUR
represent the command format that you should use when entering commands into HomeBoss.
Words in code NORMAL
represent actual words that you can enter into HomeBoss.
Screenshots
Screenshots are added below each example where it helps enhance the clarity of the expected output from running the command that precedes it.
Wherever the explanation that follows each command is sufficient to convey the expected output, screenshots are
omitted to reduce clutter. The output will be shown in codeblocks
instead.
Ensure that you have Java 11
or above installed on your computer. If you are unsure how to do so you may view
this
helpful guide.
Tip: You may find the following links helpful should you need to install Java 11
:
You may download the latest release of HomeBoss
from here.
(Please download the file named HomeBoss.jar
)
Move the downloaded HomeBoss.jar
file into the folder that you want to use as the home folder for your
application.
Warning: The folder that you would like to use as the home folder for HomeBoss must be empty and should not contain any other files / folders before the application is launched for the first time.
Run HomeBoss.jar
. If you are unsure of how to run a .jar
file, you may refer to this helpful
guide.
If everything went well, you will be greeted by a window similar to the one shown below.
Do not worry if the layout looks unfamiliar at first glance. Let's go through a quick run down of HomeBoss's layout so that you can familiarise yourself with our various components.
Note: The above image is an example with sample data and may not be what you see when you launch the application for the first time.
The Command Box is where you will be interacting with HomeBoss, it is the place where all commands
will be entered. Try typing the help
command and hitting enter!
The Command Result / Feedback Box is where HomeBoss will provide you the results or feedback about
the commands you entered. For example, if you tried typing the help
command earlier, you should see
the above feedback in your application window, together with a Help window popup.
You can use the scroll bar on the right to scroll through a long result or feedback!
List of Customers | List of Deliveries |
The Customer / Delivery List Panel is where you will be able to find the Customers and Deliveries that you have added to HomeBoss. You can use the scroll bar on the right to scroll through your Customers or Deliveries.
Note:
The ID
that appears next to each name is a unique identifier given to all added Customers and
Deliveries separately, and is required to perform many of HomeBoss's commands.
More details of these commands can be found in Features.
The ID
s generated are guaranteed to be unique but may not be consecutive and may not start from 1.
Commands are your main form of interaction with HomeBoss, and is the way to carry out various operations in HomeBoss. Don't worry if the commands seem daunting, the HomeBoss team has carefully crafted the commands to be as intuitive and simple as possible. After learning the commands, you'll be faster than ever!
Every command has a Command Phrase and possibly one or more Parameters (inputs to customise the command to your needs) which is typically preceded by a Prefix (special markers for HomeBoss to understand your inputs)
Take the Add a Delivery command for example:
delivery add DELIVERY_NAME --customer CUSTOMER_ID --date EXPECTED_DELIVERY_DATE
delivery add
.DELIVERY_NAME
or CUSTOMER_ID
.--
, such as --customer
and--date
.However, not all commands have Prefixes. Take the Update status of a Delivery command as example:
delivery status DELIVERY_ID STATUS
delivery status
.DELIVERY_ID
and STATUS
.Not all commands have Parameters as well. Take the Logout command as example:
logout
logout
.Note:
If Customer ID or Delivery ID is specified in the command, it must be a positive integer and less than 2147483648 for the Command Format to be considered valid.
A Command Phrase is made up of keywords or short phrases that are unique to each Command.
Words in uppercase are parameters that are supplied by you.
Parameters that are preceded by a prefix must be supplied after that prefix.
e.g. --name DELIVERY_NAME
must be given as --name furniture
and not furniture
or --name
.
Items that are placed in square brackets ([]
) are optional.
e.g. DELIVERY_ID [--name DELIVERY_NAME]
can either be 1
or 1 --name furniture
.
However, items that are grouped together in square brackets ([]
) must all be provided together.
e.g. for [--password PASSWORD --confirmPass CONFIRM_PASSWORD]
both PASSWORD
and
CONFIRM_PASSWORD
must be provided.
Extraneous parameters for commands without parameters, like customer list
or clear
, will be
disregarded.
e.g. customer list 123
will be treated as customer list
.
Parameters that have ...
as a postfix can be given one or more times.
e.g. KEYWORDS...
can be
given as Keyword
or Keyword AnotherKeyword
.
Command Phrase and Prefixes are case-sensitive!
e.g. clear
is a valid command word but
customer LIST
is not a valid command word.
Leading and trailing whitespaces of parameters will be trimmed.
e.g. spaces added between --password
and PASSWORD
in --password PASSWORD
will be removed.
At this juncture, you should already have a good understanding of the basic mechanisms of HomeBoss. Let's now get you started on HomeBoss by creating your first Delivery.
register
command. Suppose you want to register an account
with the following details:USERNAME
: yourUsernamePASSWORD
: AlexIsGreatCONFIRM_PASSWORD
: AlexIsGreatSECRET_QUESTION
: First Pet Name?ANSWER
: KokoType register --user yourUsername --password AlexIsGreat --confirmPass AlexIsGreat --secretQn First Pet Name? --answer Koko
into the Command Box and hit enter. More details on the register
command can be
found here.
Note: Only 1 account can be registered in HomeBoss at any one time.
After registering for an account, you will be greeted by HomeBoss's home page. It's empty at the moment, so let's populate it with some data.
Let's now add a new Customer, Gabriel
, to HomeBoss' Customer database using the customer add
command with
the following details:
NAME
: GabrielPHONE
: 87654321EMAIL
: gabrielrocks@gmail.comADDRESS
: RVRC Block Bcustomer add --name Gabriel --phone 87654321 --email gabrielrocks@gmail.com --address RVRC Block B
into the Command Box and hit enter.Gabriel
will be added, and you will see the Customer's details reflected in the Customer List
panel, similar to the image shown below.Gabriel
into HomeBoss' Delivery database. For this example, Gabriel
has just
ordered a MacBook Pro
from you, and the Delivery date that you expect to deliver to him by is 2023-12-03
.DELIVERY_NAME
: MacBook ProEXPECTED_DELIVERY_DATE
: 2023-12-03delivery add MacBook Pro --customer CUSTOMER_ID --date 2023-12-03
, replacing CUSTOMER_ID
with Gabriel's ID, and hit enter.Gabriel
, you should see a new Delivery in the Delivery List Panel,
similar to the image shown below.Congratulations! You have just successfully added your first Customer and Delivery!
HomeBoss is packed with many more features to help you manage your Customers and Deliveries. Check them out under the Features section to learn more!
HomeBoss stores your data in three JSON files, namely
[JAR file location]/data/authentication.json
(containing the authentication data)[JAR file location]/data/addressbook.json
(containing the
Customer database)[JAR file location]/data/deliverybook.json
(containing the Delivery database).Advanced users are welcome to update the data by editing the data files directly. However, please note that we do not provide support for any issues that arise from this.
Warning:
If either the addressbook.json
or deliverybook.json
data file is edited and contain invalid data as a
result, HomeBoss will discard the entire data file
and start with an empty data file on the next application run.
If deliverybook.json
contains invalid data while
the addressbook.json
remains untouched and valid, the Customer database will remain unaffected.
On the other hand, if addressbook.json
contains invalid data, regardless of the validity of the data
in deliverybook.json
, both the Customer and Delivery database will be completely reset on the next application
run since the Delivery database is dependent on the Customer database.
It's not recommended to edit the authentication.json
data file directly as it may result in the inability to log in
to your account and other unintended effects.
Here is a brief introduction to all the features in HomeBoss. For more detailed information, please refer to the Features section.
These are features for managing your user account in HomeBoss.
register
- Registers a new user account to use HomeBoss.login
- Logs in to your user account.update
- Updates your user account details.recover account
- Recovers your user account.logout
- Logs out of your user account.delete account
- Deletes your user account.These are features for managing your Customers in HomeBoss.
customer add
- Adds a Customer to the Customer database.customer view
- Shows the details of the specified Customer.customer list
- Lists all Customers in the Customer database.customer find
- Finds Customers whose names contain words that exactly match any of the given keywords.customer edit
- Updates the details of an existing Customer in the Customer database.customer delete
- Deletes the specified Customer from the Customer database.These are features for managing your Deliveries in HomeBoss.
delivery add
- Adds a Delivery to the Delivery database.delivery view
- Shows the details of the specified Delivery.delivery list
- Lists Deliveries in the Delivery database according to the specified conditions.delivery find
- Finds Deliveries with names containing words that exactly match any of the given keywords.delivery edit
- Updates the details of an existing Delivery in the Delivery database.delivery status
- Updates the status of a specified Delivery.delivery note
- Creates a note for a specified Delivery.delivery delete
- Deletes the specified Delivery from the Delivery database.These are general features in HomeBoss.
exit
- Exits the program.help
- Shows a list of commands and their usage.clear
- Clears both Customer and Delivery database.You can create a new User account by calling this command when you first start using HomeBoss.
Note: Only one account can be registered at any one time.
Format:
register --user USERNAME --password PASSWORD --confirmPass CONFIRM_PASSWORD --secretQn SECRET_QUESTION --answer ANSWER
Parameters:
USERNAME
must be alphanumeric.PASSWORD
must be at least 8 alphanumeric characters long.CONFIRM_PASSWORD
must be the same as PASSWORD
.SECRET_QUESTION
can include any characters but must not be empty.ANSWER
can include any characters but must not be empty.SECRET_QUESTION
and ANSWER
will be used for account recovery.PASSWORD
and CONFIRM_PASSWORD
will precede the check for
equality of passwords.
Example:
register --user yourUsername --password GabrielIsGreat --confirmPass GabrielIsGreat --secretQn First Pet Name? --answer Koko
Explanation
This registers a new user account with the username yourUsername
, password GabrielIsGreat
, secret
question First Pet Name?
and answer Koko
.
Expected Output
Registration successful. Welcome to HomeBoss!
Tip: Since only one account can be registered at any one time, if you have already registered an account, you will not be able to register another account. If you must, you can delete your current account by using the delete account
command here before registering a new account.
You can log in to your account to access your Customer and Delivery data by calling this command.
Note: You need to already have an account registered with HomeBoss.
Format:
login --user USERNAME --password PASSWORD
Parameters:
USERNAME
must be alphanumeric.PASSWORD
must be at least 8 alphanumeric characters long.
Example:
login --user yourUsername --password GabrielIsGreat
You can change your account details for more personalisation and greater security with HomeBoss by calling this command.
Note: The details will be updated without checking against the current details.
Format:
update [--user USERNAME] [--password PASSWORD --confirmPass CONFIRM_PASSWORD] [--secretQn SECRET_QUESTION --answer ANSWER]
Parameters:
USERNAME
must be alphanumeric.PASSWORD
must be at least 8 alphanumeric characters long.CONFIRM_PASSWORD
must be the same as PASSWORD
.SECRET_QUESTION
can take any characters.ANSWER
can take any characters.PASSWORD
and CONFIRM_PASSWORD
will precede the check for
equality of passwords.
Example:
update --user GabrielV2 --password GabrielIsBest --confirmPass GabrielIsBest --secretQn Favourite Pet --answer BoBo
Explanation
Updates the username to GabrielV2
, password to GabrielIsBest
,
secret question to Favourite Pet
and answer to BoBo
.
Expected Output
Update successful.
You can log out of your account to keep your data secure at the end of the day by calling this command.
Format: logout
Example:
logout
Explanation
Logs out of the current user account.
Expected Output
Bye!
HomeBoss makes it easy for you to recover your account if you forget your password. You only need the answer to the secret question (set during account registration) to reset your password and thus regain access to your account.
Format:
recover account [--answer ANSWER --password NEW_PASSWORD --confirmPass CONFIRM_PASSWORD]
Parameters:
ANSWER
is provided, NEW_PASSWORD
and CONFIRM_PASSWORD
must also be provided and vice
versa.ANSWER
can take any characters.NEW_PASSWORD
must be at least 8 alphanumeric characters long.CONFIRM_PASSWORD
must be the same as NEW_PASSWORD
.PASSWORD
and CONFIRM_PASSWORD
will precede the check for
equality of passwords.
Examples:
recover account
recover account --answer Koko --password NewPassword123 --confirmPass NewPassword123
If you want to quickly erase all your data from HomeBoss or start a new account, you can delete your current account by calling this command.
Format: delete account
Example:
delete account
Explanation
This deletes your account and all your data from HomeBoss.
Expected Output
User deleted successfully.
Tip: This command should be considered as a last resort, to be used if you forget both your password and your secret
answer.
However, if you've forgotten your password but recall the answer to your secret question, you can initiate the account
recovery process by using the recover account
command here.
You can add a new Customer's details into HomeBoss with this command to store and manage your Customer data.
Note:
Format:
customer add --name NAME --phone PHONE_NUMBER --email EMAIL --address ADDRESS
Parameters:
NAME
must be alphanumeric and can contain spaces.PHONE_NUMBER
must be exactly 8 digits.EMAIL
must follow the local
format.ADDRESS
can take any characters.
Example:
customer add --name Gabriel --phone 87654321 --email gabrielrocks@gmail.com --address RVRC Block B
You can see all the information of a Customer by calling this command. The data displayed includes the Customer's name, phone number, email and address which you might need in case you need to contact them.
Format:
customer view CUSTOMER_ID
Parameter: CUSTOMER_ID
must be an integer greater than 0 and less than 2147483648 that corresponds to an
existing Customer's ID.
Example:
customer view 1
This command allows you to view a list of all the Customers that you have added to HomeBoss. With this, you will be able to get a neat and organised overview of all your Customers.
Format: customer list
Example:
customer list
Tip: You can use this command together with delivery list
to switch between the two lists.
If you want to get the details of a Customer, but do not remember the Customer's full name or the Customer's ID, you can find the Customer with this command. It finds Customers whose names has words that exactly match any of the given keywords.
Note:
Alex
and Tan
in Alex Tan
will display Alex Wong
, Alex Tan
,
and Tan Ah Meng
.Alex
will match Alex
but
not Alexander
.A_lex
.
Format:
customer find KEYWORD [MORE_KEYWORDS...]
Parameters:
KEYWORD
cannot contain spaces. Spaces are used to differentiate between various keywords.KEYWORD
, there has to be a space between each KEYWORD
.
Example:
customer find Julius Yang
This command is useful for changing the particulars of a Customer, such as due to a change in their details or in the event that you keyed in the Customer's details wrongly.
Format:
customer edit CUSTOMER_ID [--name NAME] [--phone PHONE_NUMBER] [--email EMAIL] [--address ADDRESS]
Parameters:
CUSTOMER_ID
must be an integer greater than 0 and less than 2147483648 that corresponds to an existing
Customer's ID.NAME
must be alphanumeric and can contain spaces.PHONE_NUMBER
must be exactly 8 digits.EMAIL
must follow the local
format.ADDRESS
can take any characters.
Examples:
customer edit 1 --name Gabriel --phone 98131051
Explanation
Edits the name of the Customer, with Customer ID of 1
, to Gabriel
and his phone to 98131051
.
Expected Output
Edited Customer:
[1] Gabriel
Phone: 98131051
Email: johnd@example.com
Address: 311, Clementi Ave 2, #02-25
customer edit 2 --name Joe --email yangyang@gmail.com --address Block 10 Tampines Road
Explanation
Edits the name of the Customer, with Customer ID of 2
, to Joe
, his email to yangyang@gmail.com
and his address
to
Block 10 Tampines Road
.
Expected Output
Edited Customer:
[2] Joe
Phone: 98765432
Email: yangyang@gmail.com
Address: Block 10 Tampines Road
By calling this command, you can delete any Customer and get rid of all their data for good if they no longer require your services.
Warning: Be careful! All Deliveries associated with the Customer will also be deleted. You won't be able to undo this deletion!
Format:
customer delete CUSTOMER_ID
Parameter: CUSTOMER_ID
must be an integer greater than 0 and less than 2147483648 that corresponds to an
existing Customer's ID.
Example:
customer delete 1
Explanation
Deletes the Customer with ID 1
.
Expected Output
Deleted Customer:
[1] Gabriel
Phone: 98131051
Email: johnd@example.com
Address: 311, Clementi Ave 2, #02-25
By using this command, you can incorporate Deliveries associated with your Customers into HomeBoss. Adding a Delivery is the initial step that later enables you to monitor the Delivery's status and other relevant details with our suite of Delivery-related commands.
Note:
Deliveries consist of a Delivery name, a Customer ID, an order date, an expected Delivery date, a Delivery status, an
address to ship to, and a Delivery note (optional). The Delivery note can be added only after the creation of a
Delivery, using the delivery note
command here.
You don't have to fill in order date, Delivery status and address. Instead they will be initialised with these values:
Order date: Today's date
Delivery status: CREATED
Address: Customer's address
Delivery status can be one of CREATED
, SHIPPED
, COMPLETED
, CANCELLED
.
Format:
delivery add DELIVERY_NAME --customer CUSTOMER_ID --date EXPECTED_DELIVERY_DATE
Parameters:
DELIVERY_NAME
must be alphanumeric and can contain spaces.CUSTOMER_ID
must be an integer greater than 0 and less than 2147483648 that corresponds to an existing
Customer's ID.EXPECTED_DELIVERY_DATE
must be today or after today's date in yyyy-MM-dd format.
Example:
delivery add Chocolate Cake --customer 1 --date 2023-12-12
Explanation
Adds a Delivery with the name Chocolate Cake
for the Customer with ID 1
. The expected Delivery date is set
to 2023-12-12
, the order date is automatically set to today's date, the Delivery status is initialised to CREATED
,
and the Delivery address is the same as the Customer's address.
Expected Output
You can see all the information of a Delivery by calling this command. The data displayed includes the Delivery's name, status, Customer, Customer ID, address, order date, expected Delivery date and notes (if any). This keeps you informed of the details which you might need to help you prepare for the Delivery.
Format:
delivery view DELIVERY_ID
Parameter: DELIVERY_ID
must be an integer greater than 0 and less than 2147483648 that corresponds to an
existing Delivery's ID.
Example:
delivery view 1
This command allows you to view a list of all the Deliveries that you have added to HomeBoss. On top of that, you are able to get a list of filtered Deliveries or a list of Deliveries that are sorted based on certain criteria that you are interested in. With this, you will be able to pinpoint certain Deliveries that you are looking for in a neat and organised manner.
Note: This is a more powerful command than customer list
, as it allows you to filter the list of
Deliveries by status, Customer ID and/or expected Delivery date. This command also allows you to sort the list of
Deliveries by expected Delivery date in either ascending or descending order. By default, the list of Deliveries will be
sorted by expected Delivery date in descending order (latest first).
Format:
delivery list [--status STATUS] [--customer CUSTOMER_ID] [--date EXPECTED_DELIVERY_DATE] [--sort SORT]
Parameters:
STATUS
accepts the following values: CREATED
/SHIPPED
/COMPLETED
/CANCELLED
.
CUSTOMER_ID
must be an integer greater than 0 and less than 2147483648 that corresponds to an existing
Customer's ID.
EXPECTED_DELIVERY_DATE
must be today or after today's date in yyyy-MM-dd format OR
TODAY
for today’s date.
SORT
accepts the following values: ASC
/DESC
.
If duplicate prefixes are provided, only the last occurrence of each prefix will be used.
Example:
delivery list --status CREATED --customer 1 --sort DESC
Tips:
created
instead of CREATED
and it will still work.If you cannot remember the full name of a Delivery, you can find the Delivery with this command. It finds Deliveries whose names has words that exactly match any of the given keywords.
Note:
Chocolate
and Bun
in Chocolate Bun
will
display Chocolate Cake
, Chocolate Bun
, and Strawberry Bun
.Straw
will match Straw
but
not Strawberry
.
Format:
delivery find KEYWORD [MORE_KEYWORDS...]
Parameters:
KEYWORD
cannot contain spaces. Spaces are used to differentiate between various keywords.KEYWORD
, there has to be a space between each KEYWORD
.
Example:
delivery find Gambes Banana
This command is useful for changing the information of a Delivery, such as due to a change in the details of a Delivery or in the event that you keyed in the Delivery's details wrongly.
Warning: Be careful! You won't be able to undo this edit action!
Format:
delivery edit DELIVERY_ID [--name DELIVERY_NAME] [--customer CUSTOMER_ID] [--date EXPECTED_DELIVERY_DATE][--status STATUS] [--note NOTE]
Parameters:
DELIVERY_ID
must be an integer greater than 0 and less than 2147483648 that corresponds to an existing
Delivery's ID.DELIVERY_NAME
must be alphanumeric and can contain spaces.CUSTOMER_ID
must be an integer greater than 0 and less than 2147483648 that corresponds to an existing
Customer's ID.EXPECTED_DELIVERY_DATE
must be today or after today's date in yyyy-MM-dd format.STATUS
accepts the following values: CREATED
/SHIPPED
/COMPLETED
/CANCELLED
.NOTE
must be alphanumeric and can contain spaces.
Examples:
delivery edit 1 --status CANCELLED --note Sudden overseas business trip to attend to
Explanation
Edits the Delivery's status of the Delivery, with Delivery ID of 1
, to CANCELLED
and edits the note of the
Delivery to Sudden overseas business trip to attend to
. If this Delivery does not already have a note, a note will
be created for it.
Expected Output
Edited Delivery:
[1] furniture
Status: CANCELLED
Customer: Joe
Customer ID: 2
Address: Block 10 Tampines Road
Ordered On: 2023-11-13
Expected Delivery Date: 2023-12-03
Note: Sudden overseas business trip to attend to
delivery edit 2 --name Vanilla Cake --customer 3
Explanation
Edits the name of the Delivery, with Delivery ID of 2
, to Vanilla Cake
and edits the Customer of the
Delivery to the Customer with ID of 3
.
Expected Output
Edited Delivery:
[2] Vanilla Cake
Status: CREATED
Customer: John Doe
Customer ID: 3
Address: 311, Clementi Ave 2, #02-25
Ordered On: 2023-11-13
Expected Delivery Date: 2023-12-03
Tips:
delivery status
instead. created
instead of CREATED
and it will still work. delivery note
instead as a
shortcut.An order can have one of the following statuses: CREATED, SHIPPED, COMPLETED or CANCELLED. This command allows you to update the status of a Delivery to any of the aforementioned statuses, according to the progress of the Delivery for your easy tracking.
Format: delivery status DELIVERY_ID STATUS
Parameters:
DELIVERY_ID
must be an integer greater than 0 and less than 2147483648 that corresponds to an existing
Delivery's ID.
STATUS
accepts the following values: CREATED
/SHIPPED
/COMPLETED
/CANCELLED
.
Examples:
delivery status 1 CANCELLED
Explanation
Updates the status of Delivery with ID 1
to CANCELLED
.
Expected Output
Edited Delivery:
[1] furniture
Status: CANCELLED
Customer: Joe
Customer ID: 2
Address: Block 10 Tampines Road
Ordered On: 2023-11-13
Expected Delivery Date: 2023-12-03
Note: Sudden overseas business trip to attend to
delivery status 2 SHIPPED
Explanation
Updates the status of Delivery with ID 2
to SHIPPED
.
Expected Output
Edited Delivery:
[2] Vanilla Cake
Status: SHIPPED
Customer: John Doe
Customer ID: 3
Address: 311, Clementi Ave 2, #02-25
Ordered On: 2023-11-13
Expected Delivery Date: 2023-12-03
Tip: Delivery status is not case sensitive. You can type created
instead of CREATED
and it will still work.
If you would like to note down additional information about a specific Delivery, this command allows you to do so. This
is also a shortcut, as opposed to using the lengthier delivery edit
command
found here.
Note: If the Delivery already has a note, the previous note will be overwritten by the new given note.
Format:
delivery note DELIVERY_ID --note NOTE
Parameters:
DELIVERY_ID
must be an integer greater than 0 and less than 2147483648 that corresponds to an existing
Delivery's ID.NOTE
must be alphanumeric and can contain spaces.
Example:
delivery note 1 --note By FedEx
Explanation
Creates a new note By FedEx
for the Delivery with ID 1
.
Expected Output
Added Note to Delivery:
[1] furniture
Status: CANCELLED
Customer: Joe
Customer ID: 2
Address: Block 10 Tampines Road
Ordered On: 2023-11-13
Expected Delivery Date: 2023-12-03
Note: By FedEx
If you feel that a Delivery is no longer relevant (i.e., CANCELLED or COMPLETED), you can delete it from HomeBoss using this command.
Warning: Be careful! This action is irreversible. Once deleted, the Delivery cannot be recovered.
Format:
delivery delete DELIVERY_ID
Parameter: DELIVERY_ID
must be an integer greater than 0 and less than 2147483648 that corresponds to an
existing Delivery's ID.
Example:
delivery delete 1
Explanation
Deletes the Delivery with ID of 1
from the Delivery database.
Expected Output
Deleted Delivery:
[1] furniture
Status: CANCELLED
Customer: Joe
Customer ID: 2
Address: Block 10 Tampines Road
Ordered On: 2023-11-13
Expected Delivery Date: 2023-12-03
Note: By FedEx
This command allows you to view a summary of the commands available, the format of the commands.
Format: help
Example:
help
Tip: This command can be used at any time, regardless of whether you are logged in or not.
You can exit the program by calling this command.
Note: If you are logged in, this command will automatically log you out of your account and close the application.
Format: exit
Example:
exit
Explanation
Exits HomeBoss and logs out of the account if logged in.
Expected Output
Closes the application window.
Tip: This command can be used at any time, regardless of whether you are logged in or not.
In the event that you want to perform a complete reset of HomeBoss' Customer and Delivery database, you can easily clear all your Customer and Delivery data by calling this command.
Warning: Be careful, this action is irreversible! All your Customer and Delivery data will be deleted permanently. Proceed with caution!
Format: clear
Example:
clear
Explanation
Clears both Customer and Delivery databases.
Expected Output
Database has been cleared!
Q: Where do I get support for HomeBoss?
A: You can raise an issue on our GitHub repository.
Q: How do I report a bug?
A: You can raise a bug report on our GitHub repository.
Q: How do I import my data from another software?
A: You can import your data by converting your data into .json in the format of the Customer and Delivery data in the
data folder.
Q: How do I export my data to another software?
A: It is currently not possible to export your data to another software.
Q: Why is there an error when I input non-English characters?
A: HomeBoss only supports English characters.
Command | Format | Examples |
---|---|---|
Register | register --user USERNAME --password PASSWORD --confirmPass CONFIRM_PASSWORD --secretQn SECRET_QUESTION --answer ANSWER | register --user Gabriel --password GabrielIsGreat --confirmPass GabrielIsGreat --secretQn First Pet Name? --answer Koko |
Login | login --user USERNAME --password PASSWORD | login --user Gabriel --password GabrielIsGreat |
Update | update [--user USERNAME] [--password PASSWORD --confirmPass CONFIRM_PASSWORD] [--secretQn SECRET_QUESTION --answer ANSWER] | update --user GabrielV2 --password GabrielIsBest --confirmPass GabrielIsBest --secretQn Favourite Pet --answer BoBo |
Recover | recover account [--answer ANSWER --password NEW_PASSWORD --confirmPass CONFIRM_PASSWORD] | recover account --answer Koko --password NewPassword123 --confirmPass NewPassword123 |
Logout | logout | logout |
Delete | delete account | delete account |
Command | Format | Examples |
---|---|---|
Add | customer add --name NAME --phone PHONE_NUMBER --email EMAIL --address ADDRESS | customer add --name Gabriel --phone 87654321 --email Gabrielrocks@gmail.com --address RVRC Block B |
View | customer view CUSTOMER_ID | customer view 1 |
List | customer list | customer list |
Find | customer find KEYWORD [MORE_KEYWORDS] | customer find Julius Yang |
Edit | customer edit CUSTOMER_ID [--name NAME] [--phone PHONE_NUMBER] [--email EMAIL] [--address ADDRESS] | customer edit 1 --name Gabriel --phone 97659320 --email Gabrielrock@gmail.com --address Block 10 Tampines Road |
Delete | customer delete CUSTOMER_ID | customer delete 1 |
Command | Format | Examples |
---|---|---|
Add | delivery add DELIVERY_NAME --customer CUSTOMER_ID --date EXPECTED_DELIVERY_DATE | delivery add furniture --customer 5 --date 2023-12-03 |
View | delivery view DELIVERY_ID | delivery view 1 |
List | delivery list [--status STATUS] [--customer CUSTOMER_ID] [--date EXPECTED_DELIVERY_DATE] [--sort SORT] | delivery list --status created --customer 1 --date 2023-12-12 --sort desc |
Find | delivery find KEYWORD [MORE_KEYWORDS] | delivery find Chocolate Bun |
Edit | delivery edit DELIVERY_ID [--name DELIVERY_NAME] [--customer CUSTOMER_ID] [--date EXPECTED_DELIVERY_DATE] [--status STATUS] [--note NOTE] | delivery edit 1 --name Chocolate Cake --customer 2 --date 2024-12-12 --status CANCELLED --note Customer changed his mind |
Status | delivery status DELIVERY_ID STATUS | delivery status 2 completed |
Note | delivery note DELIVERY_ID --note NOTE | delivery note 1 --note By FedEx |
Delete | delivery delete DELIVERY_ID | delivery delete 1 |
Command | Format | Examples |
---|---|---|
Exit | exit | exit |
Help | help | help |
Clear | clear | clear |