Budget: 4900 UAH Deadline: 10 days
Good day, Andriy!
POS on C++ over the existing Firebird - the main thing here is not to break your database, but to carefully integrate with its schema. Selling products, cash register, printing receipts - the logic is clear, the devil is in the details of the connection and the fiscal part.
As I understand the task: you already have a live database with its own structure of products, groups, and subgroups, and you need a separate desktop application for Windows 10+ that integrates with it - cashier authorization, product selection from groups on the screen, cart, card payment, and receipt. That is, not to invent data from scratch, but to work correctly with what has already been accumulated.
A few points that will determine half of the work, so I ask right away. First - card payment: is this integration with a specific bank terminal (which manufacturer, is there a protocol?) or through a payment gateway? Second - receipt printing: is this a fiscal registrar with tax requirements or a regular receipt printer via ESC/POS? The architecture and timelines depend on these two answers.
Here’s how I see the stages. First, I will connect to your test copy of Firebird, analyze the schema and examples of ready-made solutions you mentioned. Next, the application framework - authorization and product selection screen by groups. Then the cart and calculation. A separate block - terminal integration and receipt printing, as this is the riskiest part. Finally, assembly for Windows and testing on real cash register scenarios.
I constantly work with structured data and databases - a systematic approach to complex catalogs can be seen on pinger.md (an aggregator with groups, filters, and search across a large dataset). I will design the Firebird-specific and fiscal part for your specific case, without templates.
One piece of advice outside the terms of reference: it’s worth considering an offline mode for the cash register - so that in case of network failure, sales and receipts do not crash, and transactions are rolled into the database later. This saves from downtime at the cash register.
I am ready to look at your database schema and functional description - send them over, and I will provide specifics regarding potential pitfalls. We can discuss the details in correspondence.