You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
4.0 KiB
47 lines
4.0 KiB
USER MANUAL OF PACKAGE DELIVERIES TRACKER
|
|
|
|
Note: the application has been developed and tested on a Windows 10 machine.
|
|
|
|
OPERATION 1: List all packages
|
|
When the application runs for the first time, there are no packages to display. It'll promt the message "No packages to show"
|
|
In the subsequent runs, the packages are displayed ordered by their expected delivery dates.
|
|
This operation can be performed by clicking the associated "All" button at the top of the window.
|
|
The list of packages will be updated upon addition or removal of any package.
|
|
|
|
OPERATION 2: Add a package
|
|
This operation can be initiated with the "Add a package" button on the bottom of the window.
|
|
It then opens a new Dialog which prompts the user for six things. It supports 3 different types of packages namely Book, Perishable and Electronic.
|
|
The first 5 fields of any type of package are constant and the last field changes depending on the type of the package selected.
|
|
The drop-down menu at the top of the Dialog asks the user to select the type of the package.
|
|
The "name" field where the user has to enter a name string, which cannot be empty.
|
|
The "note" field where the user has to enter any relevant notes, which is an optional field.
|
|
The "price" field where the user has to enter the price of the package, which has to be a positive number.
|
|
The next field is "weight" where the user has to enter the weight of the package, which has to be a positive number..
|
|
If any non-numerical value is entered in "price" or "weight" field, the dialog will prompt an error message and does not allow to add the package.
|
|
The "date" field prompts the user to pick a date from a calendar, with an option of time at 30-minute intervals.
|
|
The last field is variable depending on the type of the package. They are author, expiry date and handling fees for book, Perishable and Electronic packages respectively.
|
|
Upon clicking the "ok" button, the application validates the user input, and alerts the user in case of any.
|
|
If user input is validated without errors, the package is sent to the server, and the dialog closes. The view is then updated in the main menu.
|
|
This operation can be terminated at any point, either with the X button or the "cancel" button.
|
|
|
|
OPERATION 3: Remove a package
|
|
Every package listed under the "All" option has a "remove" button associated with it. Upon clicking on the "remove" button, the package to be deleted is sent over to the server and it is deleted from the list of packages.
|
|
The view of package list is updated accordingly with the remaining packages.
|
|
|
|
OPERATION 4: List upcoming packages
|
|
To list all the upcoming packages (undelivered packages), click on the "Upcoming" button at the top of the window.
|
|
It lists all undelivered packages with expected delivery dates on or after the current date (and time), ordered by their expected delivery dates (oldest first).
|
|
This view is updated when a new package is added, a package is removed or a package is marked as delivered.
|
|
|
|
OPERATION 5: List overdue packages
|
|
To list all the overdue packages, click on the "Overdue" button at the top of the window.
|
|
It lists all undelivered packages with expected delivery date before the current date (and time), ordered by their expected delivery dates (oldest first).
|
|
This view is updated when a new package is added, a package is removed or a package is marked as delivered.
|
|
|
|
OPERATION 6: Mark package as delivered
|
|
Every package listed under the "All" option has a checkbox "delivered?" associated with it. Upon clicking in the checkbox, the package to be marked as delivered is sent over to the server and it is marked as delivered.
|
|
The view of packages is updated accordingly with the updated package list.
|
|
|
|
OPERATION 7: Exit
|
|
When the user decides to end the application by clicking the "X" button of the window, the application automatically triggers the server's save operation to list.json before closing the window.
|
|
It stores all the revised package list to the list.json as a list of JSON objects. |