delivery-monitor is a graphical user interface (GUI) application written in Java that lets users register parcel informations and keep tracking the parcel shipping status. The parcel data are stored in an SQLite3 database. The service is ONLY available in South Korea.
- Java JDK : The version of Java JDK installed on your computer must be newer than 1.8.0. Java JDK can be downloaded from here.
- Maven: The version of Maven installed on your computer must be newer than 3.6.0. Download Maven from here and follow the installation guides.
Download delivery-monitor .jar file by downloading the latest release.
You may also download the source code and build yourself.
To build the project, on the root directory of project folder, execute:
$ mvn clean compile assembly:single
To run the program:
$ java -cp target/delivery_monitor-1.0.1-jar-with-dependencies.jar cose102.delivery_monitor.main.Main
The default view of the application looks like following:
Visit Sweet Tracker, register, login, and get a API key from here. Choose relevant type of key that matches your purpose of using this application.
Copy your issued API key and paste it into "API key" text field. This should be done everytime before using any functions the application provides.
Click "Load Companies" button to get information about shipping companies. This should be done if you have never done this before.
Now, you are ready to use functions provided by the application.
Click "Add" button to register a new parcel shipping data to the database.
Select the company of the parcel, and input the invoice number of the parcel. Hit "Add" when the information relevantly has been input.
Click "Delete" button to delete an existing parcel data. The application will disable the parcel and won't be shown in the future. This work cannot be undone.
Clicking "Refresh" button refreshes all existing active parcel data. It makes the application convenient to update the latest parcel shipping data.
- The application is very vulnerable to exceptions. Further exception handling should be done properly in order to make the application work properly regardless of unexpected conditions.
- The API key is not storable on the DB and therefore forces the user to copy-paste API key every time the user uses the application, which makes the application less convenient.
- Some parcel shipping data neither does not provide any parcel name nor proper one, which makes user be confused about their registered parcels. However, the application does not let the user change the name of the parcel. This function is needed to be added to the application.