# jFxKasse Simple POS (Point of Sale) system for small to medium-sized events with receipt printer support. ## Requirements - Java JDK 21+ - Maven 3.9+ - Display >= 1366x768 ## Video Tutorials (German | Deutsch) [YouTube Video: jFxKasse - Kassensystem - Kurzanleitung](https://www.youtube.com/watch?v=DV9DDESw40I) [YouTube Video: jFxKasse - Kassensystem - Installieren](https://www.youtube.com/watch?v=IY1bqRjwh0Q) ## Setup (VSCode on openSUSE Tumbleweed) ### 1. Install dependencies ```bash sudo zypper install java-21-openjdk java-21-openjdk-devel maven ``` ### 2. Install VSCode extensions Open the project in VSCode. You will be prompted to install the recommended extensions: - **Extension Pack for Java** (`vscjava.vscode-java-pack`) - **Maven for Java** (`vscjava.vscode-maven`) - **Language Support for Java** (`redhat.java`) ### 3. Build & Run ```bash # Compile mvn compile # Run via Maven mvn javafx:run # Package as fat JAR mvn package java -jar target/jFxKasse-shaded.jar ``` Or use the preconfigured VSCode tasks (`Ctrl+Shift+B`) and launch configurations (`F5`). ## Screenshots | Main View | Jobs | Positions | Settings | |-----------|------|-----------|----------| | ![](screenshots/newjob) | ![](screenshots/jobs) | ![](screenshots/positions) | ![](screenshots/settings) | ## Hardware Tested with: [Epson TM T20II](https://www.epson.de/products/sd/pos-printer/epson-tm-t20ii). Other receipt printers should work as well. ## Tools ### merge_db Merges multiple SQLite databases into one file with automatic deduplication. Reference tables (`category`, `positionen`) are deduplicated by content; `jobs` rows are appended in order with re-sequenced IDs to avoid conflicts. ```bash python tools/merge_db.py -o OUTPUT_DB INPUT_DB [INPUT_DB ...] # Example python tools/merge_db.py -o merged.db 02.db 03.db 04.db ``` ### generate_report Generates a German HTML + PDF report from a [jFxKasse](https://git.mosad.xyz/localhorst/jFxKasse) SQLite database, including category/item tables, order KPIs, revenue breakdowns, and hourly trend charts per category. ```bash python tools/generate_report.py kassendaten.db # → kassendaten_bericht.html python tools/generate_report.py kassendaten.db -o out.html ``` ## License GPL-3.0