Production-grade C++17 POS receipt & persistence engine
Customer Slip Generator (CLI)
Customer Slip Generator is a production-quality command-line application engineered in modern C++17 with CMake. Designed for retail checkouts and point-of-sale environments, it captures customer contact details, itemized totals, and percentage discounts with strict input validation. The tool implements atomic multi-format data persistence (writing concurrently to CSV and JSONL without risk of data corruption), case-insensitive substring searching (--view <name>), pretty-printed JSON exports (--export-json), and cross-platform CMake build automation backed by a comprehensive CTest unit test suite.

Problem
Small storefronts and embedded point-of-sale systems often require fast, lightweight, and dependency-free transaction logging that guarantees durable file writes without the overhead of heavy database servers.
Solution
A zero-dependency, compiled C++17 CLI providing instant terminal receipt rendering, thread-safe atomic data persistence to both CSV and JSONL, search filtering, and JSON export utilities.
Outcome
A dependable, portable POS transaction utility demonstrating modern C++17 software design, atomic file persistence patterns, CMake cross-platform builds, and automated unit testing.
Standout Features
- Modern C++17 architecture with clean separation of input parsing, business math, and persistence
- Atomic multi-format storage writing transaction slips to CSV and JSONL simultaneously
- Case-insensitive search filter (--view <name>) and structured JSON export (--export-json)
- Comprehensive CTest test suite validating discount math, edge cases, and file serialization
Stack & Signals
- C++17
- CMake
- CTest
- Ninja / Make
- GCC / Clang / MSVC
- GitHub Actions CI
Canonical destination