Skip to content

Releases: roboraptor/LocalPOSqlite

LocalPOSqlite - Big Finale?

Choose a tag to compare

@roboraptor roboraptor released this 21 Jun 16:41

Release notes covering all features, bug fixes, and enhancements introduced from commit 912697d (May 21, 2026) to present (June 21, 2026).


🚀 Key Features & Additions

🖥️ External Browser Display (EBD)

Implemented support for active secondary displays:

  • Fullscreen request triggers, layout fixes, and sizing calibration buttons for secondary monitors/customer displays.
    • Used with old Android phone. Showing welcome page, receipt, QRcode for payment and thank you animation.

📊 Uzávěrka (Sales Closing) Page

Introduced a comprehensive Sales Closing dashboard accessible directly from the header navigation:

  • Dynamic Date Range Filtering: Support for presets (Dnes, Včera, Tento týden, Tento měsíc, Celá historie) and custom date pickers, unified in a single settings card.
  • KPI Summaries: Real-time aggregation of Obrat (Revenue), Počet dokladů (Document Count), and Průměrná útrata (Average Ticket Value).
  • Payment Methods Breakdown: Grouped statistics and progress bars for Cash, Card, QR Payments, and Unpaid Tabs.
  • Product & Category Mix: Fully sortable lists of sold items and categories showing total quantity, revenue, and overall volume share.
  • Dataset View Modes: Filter statistics by:
    • Pouze prodané (Sold only)
    • Prodané + Otevřené (Sold + Open Tabs)
    • Pouze otevřené (Open/Active Tabs only)

🧾 Unified Receipts & Open Tabs List

Improved the Receipts page (/receipts) to handle both historical records and active sessions:

  • Closed vs Open Toggle: Toggle the list on-demand to view either closed receipts or active tabs/tables.
  • Cyan Table Indicators: Open tab cards are styled with distinct borders and tags to separate them from finalized receipts.
  • Integrated Filtering: Full-text search and date range filters automatically index and filter both databases correctly.

🖨️ Thermal POS Printing Integration

Added print-ready media query stylesheets for thermal receipt printers (80mm width):

  • Uzávěrka Printing: Formats the report into a POS ticket. When printing in combined mode, it automatically splits the statistics into ZAPLACENÉ (PAID) and NEZAPLACENO / OTEVŘENO (UNPAID) sections.
  • Receipt Listings: Formats shown receipt cards as stackable, cleanly separated thermal receipts with custom print headers, compact padding, and tight line heights to save paper.

🔧 Optimizations & Fixes

  • Database Connection Leaks: Refactored the DB settings PUT endpoint to reuse active database singleton connections and safely close connections, avoiding locking conflicts.
  • WAL Checkpointing (Truncate): Added manual Sloučit WAL do DB button under the Export page to merge WAL records and truncate .db-wal files down to 0 bytes on disk.
  • QR Codes / Paylibo API: Patched schema configurations and initiated paylibo API payment integration triggers.
  • OXLint Integration: Integrated faster linter checking scripts into the project tooling.

LocalPOSsqlite

Choose a tag to compare

@roboraptor roboraptor released this 21 May 14:52
  • some graphics touch ups
  • finally properly buildable
  • dynamic db access (no need to restart when changed)
  • settings behind password

LocalPOSsqlite

Choose a tag to compare

@roboraptor roboraptor released this 21 May 08:09
  • Fixed some visuals
  • Settings rework
  • QR pay avaliable
  • prepared for some kind of EET
  • prepared for some kind of receipt printing

LocalPOSsqlite

Choose a tag to compare

@roboraptor roboraptor released this 02 May 00:18
  • migrated to SQLite
  • migrated to Bootstrap
  • migrated to new AppRouter

LocalPOSjson

Choose a tag to compare

@roboraptor roboraptor released this 12 Mar 13:38

This is a first release of this software to quickly spinup some Electronic Cash Register without any Pament APIs.
It works only to store the receipts for future accounting work.
It has filters, catigories, items management and basic tabs.

Probably ToDo:

  • migrate to SQLite
  • migrate to Bootstrap
  • migrate to new AppRouter