Lately I have been working on using databases in Java and the Java Mail API. I thought it would be a good idea to use this knowledge in a practical desktop application.
On the internet you can find many billing programs that you can use to manage and send invoices. But these are too extensive and have a complex user interface. So I thought, how about a program that offers the essential functionalities (e.g.: manage customers, manage and send invoices) without getting too complicated. The application should be simple and straightforward.
This gave me the idea to create the application "QuickCustomerManagement", which should be programmed with Java 13 and which can be installed quickly by the user. With this application you should be able to create invoices and send them to customers. The customers can be created and managed. The invoices consist of invoice lines ("InvoicePos") ,which can also be created quickly using product templates. The products of a customer should be managed via the product templates. These product templates manage the products of a company and store the available quantity of a product. The available quantity is automatically adjusted to the product quantity added in invoices. This enables an automatic inventory of all products of the company. You only need to change the available quantity when a new quantity of a product is available.
Now something about the technical specification of this application. The application uses SQLite as database and the connection to this database is established via JDBC. The database is thus stored in a file located in the root directory of the application folder. For the user interface JavaFX11 is used, which also works with the latest version Java 13 (the latest version when this application was programmed). The data for the country and currency selection boxes is downloaded via the HttpClient API.
The source code of this application is located on Github. There you can also find the application as a JAR file, which can be used on Linux, Windows and Mac. For Windows users there is an EXE version, as well as an installer (installable EXE file). The installer installs the application (the EXE file) and adds the application to the operating system menu. InnoSoft was used for the installer. The installer settings are also available on Github.
The application on Github:
https://github.com/a-dridi/QuickCustomerManagement/