user manual

master
mms37 2 years ago
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…
Cancel
Save