From b4248d24f2053f9dbafcb5e37122fc43c77559f1 Mon Sep 17 00:00:00 2001 From: mms37 Date: Mon, 8 Aug 2022 15:56:10 -0700 Subject: [PATCH] user manual --- assignment4/list.json | 1 - webappserver/docs/UserManual.txt | 47 ++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) delete mode 100644 assignment4/list.json create mode 100644 webappserver/docs/UserManual.txt diff --git a/assignment4/list.json b/assignment4/list.json deleted file mode 100644 index 405d4a6..0000000 --- a/assignment4/list.json +++ /dev/null @@ -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 \ No newline at end of file diff --git a/webappserver/docs/UserManual.txt b/webappserver/docs/UserManual.txt new file mode 100644 index 0000000..fe47efd --- /dev/null +++ b/webappserver/docs/UserManual.txt @@ -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. \ No newline at end of file