parent
3f353c5fd1
commit
b4248d24f2
@ -1 +0,0 @@
|
||||
curl -i -H "Content-Type: application/json" -X POST -d '{/"author/":/"a/",/"name/":/"as/",/"note/":/"as/",/"price/":32.0,/"weight/":12.0,/"expectedDate/":/"2022-08-26T21:30/",/"delivered/":false,/"type/":/"book/"}' localhost:8080/addBook
|
@ -0,0 +1,47 @@
|
||||
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.
|
Loading…
Reference in new issue