Commit graph

  • 5501fe3094 Tech cards: remove photo without replacement, header spacing, order link main byrsapty 2026-09-14 00:19:32 +03:00
  • 3697b4eb89 Add tech cards (kitchen prep instructions + plating photo) section byrsapty 2026-09-14 00:04:52 +03:00
  • 47db28ccb0 Fix DB restore 500 on old backups, add photo archive restore byrsapty 2026-09-06 04:25:35 +03:00
  • 73d4add7ac Add one-click cloud backup restore for disaster recovery byrsapty 2026-09-06 03:40:49 +03:00
  • 9a30d84bf4 Fix estimate-badge checkbox alignment byrsapty 2026-09-06 03:32:40 +03:00
  • 71210b6bdb Add independent on/off toggles for the "≈" estimate badge byrsapty 2026-09-06 03:28:05 +03:00
  • 6a0579f24d Allow manually overriding the estimated price for per_100g products byrsapty 2026-09-06 02:59:44 +03:00
  • d27cbb9bf0 Fix "directory not found" on first-ever connection test byrsapty 2026-09-05 23:33:05 +03:00
  • e773b19508 OAuth Google Drive: use a plain folder path instead of a folder ID byrsapty 2026-09-05 23:26:38 +03:00
  • 0cea565fd5 Move the shared Drive folder-id field above both auth methods byrsapty 2026-09-05 23:16:49 +03:00
  • 601411451a Add OAuth auth option for the Google Drive backup remote byrsapty 2026-09-05 23:10:59 +03:00
  • 375022e739 Add backup_remote.py and wire up the rest of the rclone rework byrsapty 2026-09-05 22:57:59 +03:00
  • f53a142cf4 Rework backups to use rclone, configurable entirely in the admin panel byrsapty 2026-09-05 22:57:23 +03:00
  • 699a73c8a0 Add per-100g product pricing and editable order line prices byrsapty 2026-09-03 20:33:04 +03:00
  • 87870d6e4b docs/TODO.md: add packaging notes (Docker Compose over .deb) byrsapty 2026-08-27 21:59:15 +03:00
  • 848d6f0d75 Add docs/TODO.md: future CRM-enhancement ideas byrsapty 2026-08-27 21:54:07 +03:00
  • ac3716712b Update API docs for guest ordering (require_customer_auth, /checkout/track) byrsapty 2026-08-27 21:47:16 +03:00
  • ac3e34b173 Fix "From Telegram" phone button showing for guests without Telegram byrsapty 2026-08-27 21:18:04 +03:00
  • 5cfcf71154 Fix desktop layout and cart badge position; redirect / to the webapp byrsapty 2026-08-27 20:32:43 +03:00
  • 7fe8ce9030 Add guest ordering for customers without Telegram byrsapty 2026-08-27 20:22:31 +03:00
  • 3ecdefa6c8 Lock background scroll under the product detail modal; ignore swipes on its backdrop byrsapty 2026-08-27 17:42:04 +03:00
  • 0e09344245 Fix admin product form layout; add long-press product detail modal byrsapty 2026-08-27 17:32:29 +03:00
  • 96737e4f3f Add optional English translation for product weight/volume byrsapty 2026-08-27 17:14:36 +03:00
  • a1bda220df Add optional English translation for the cafe's address byrsapty 2026-08-27 16:52:27 +03:00
  • ff232d1a0f Bilingual menu content + finish EN coverage across bot and Mini App byrsapty 2026-08-27 16:38:10 +03:00
  • 25988b3ef1 Make the collapsible sidebar itself an optional setting byrsapty 2026-08-27 15:47:58 +03:00
  • 7643f43a43 Animate sidebar group collapse/expand smoothly byrsapty 2026-08-27 15:38:57 +03:00
  • 2e1c7a8819 Make sidebar nav groups optionally collapsible byrsapty 2026-08-27 15:29:10 +03:00
  • 391da771f7 Document Postgres backup gap as a TODO before any real migration byrsapty 2026-08-27 15:19:10 +03:00
  • 40758c5191 Fix test_payments.py for the payment-provider abstraction merge byrsapty 2026-08-27 13:43:01 +03:00
  • 52eec01477 Merge pluggable payment-provider layer; add LiqPay alongside Monobank byrsapty 2026-08-27 13:41:27 +03:00
  • 27f1d5f149 Add pluggable payment-provider layer; implement LiqPay alongside Monobank byrsapty 2026-08-27 13:38:24 +03:00
  • 399e6a48e9 Merge i18n scaffolding: bilingual bot notifications + cart/checkout byrsapty 2026-08-27 13:37:00 +03:00
  • 3e8314925c Add i18n scaffolding: bot/notification locale support + bilingual cart/checkout byrsapty 2026-08-27 13:35:47 +03:00
  • 11a155bca5 Merge repo-committed pytest test suite byrsapty 2026-08-27 13:33:34 +03:00
  • 8bba2873b5 Add repo-committed pytest test suite byrsapty 2026-08-27 13:32:09 +03:00
  • fb97a3c1e0 Merge opt-in PostgreSQL support byrsapty 2026-08-27 13:31:51 +03:00
  • 1ede4b9692 Add opt-in PostgreSQL support alongside default SQLite byrsapty 2026-08-27 13:31:12 +03:00
  • fddde6e0a5 Merge non-technical owner's guide byrsapty 2026-08-27 13:28:54 +03:00
  • a3c907a1ec Merge API reference docs (Markdown + OpenAPI) byrsapty 2026-08-27 13:28:54 +03:00
  • dd5688ab9f Add API reference docs for /api/* (Markdown + OpenAPI) byrsapty 2026-08-27 13:27:43 +03:00
  • 78df456653 docs: додати нетехнічний посібник власника для адмін-панелі byrsapty 2026-08-27 13:27:35 +03:00
  • b636d0584a Rate-limit /admin/login and alert on insecure default credentials byrsapty 2026-08-27 13:07:09 +03:00
  • 759a590022 Alert owner on fiscalization failure; close payment-status race condition byrsapty 2026-08-27 12:49:17 +03:00
  • f5e46ef648 Fix two audit findings: fiscalization gap in checkout polling, path traversal in supplier import byrsapty 2026-08-27 00:33:23 +03:00
  • dcf5a9205a Fix TypeError crashing restock-from-ingredient-page on production byrsapty 2026-08-26 23:57:01 +03:00
  • d6f6efb270 Stop stuffing supplier name into stock-movement notes; break out cash/bank totals in statements byrsapty 2026-08-26 21:20:57 +03:00
  • 662f0dcbc7 Track payment method (cash/bank) on supplier deliveries, surface it in statements byrsapty 2026-08-26 21:02:56 +03:00
  • 2621c2395d Add downloadable movement history for a single ingredient byrsapty 2026-08-26 20:53:10 +03:00
  • 6f361bc166 Add downloadable Excel/PDF stock reports (snapshot + movement history) byrsapty 2026-08-26 20:41:57 +03:00
  • a3c29095c8 Edit supplier deliveries after the fact; downloadable Excel/PDF statements byrsapty 2026-08-26 20:17:48 +03:00
  • 1481332d3f Sync inventory restocks with the supplier ledger in both directions byrsapty 2026-08-26 19:40:35 +03:00
  • 4a5621d912 Link suppliers to inventory ingredients (main supplier per ingredient) byrsapty 2026-08-26 18:56:47 +03:00
  • 38376a06ca Allow multiple products in one manual supplier delivery entry byrsapty 2026-08-26 18:43:58 +03:00
  • c1e3e83d55 Add owner-alerting on unhandled errors, backup integrity checks, and a client-provisioning script byrsapty 2026-08-25 18:11:15 +03:00
  • 922d9c5172 Make brand identity reusable for redeploying to other clients byrsapty 2026-08-25 17:54:29 +03:00
  • 23e931d777 Fix duplicate-supplier creation and blind duplicate-ledger on re-import byrsapty 2026-08-25 17:17:53 +03:00
  • 024f5349ff Remember per-supplier import column mapping; skip duplicate накладна on re-import byrsapty 2026-08-25 17:09:20 +03:00
  • 001509f2b1 Fix production 500 on /admin/suppliers: missing reference column migration byrsapty 2026-08-25 17:06:30 +03:00
  • dc01316bed Add SKU/article field and currency-symbol stripping to supplier import byrsapty 2026-08-25 17:01:01 +03:00
  • 31e78f19ba Recognize 'опт'/wholesale price column headers for price_per_unit byrsapty 2026-08-25 16:50:11 +03:00
  • d3c77e98e1 Make supplier import adaptive: .xls/.csv support, multi-sheet, wider field detection byrsapty 2026-08-25 16:44:55 +03:00
  • 674d52fe05 Add supplier management with flexible Excel import byrsapty 2026-08-25 16:29:50 +03:00
  • 551b0d3afc Exclude cancelled orders from revenue/count stats byrsapty 2026-08-25 16:10:34 +03:00
  • 8aa88264ff Add order editing and personal discounts (admin-only) byrsapty 2026-08-25 16:06:53 +03:00
  • 29d0c491f4 Show allergen labels as text chips, not bare icons byrsapty 2026-08-25 15:56:28 +03:00
  • d20c21cd2c Add EU-14 allergen labeling to products byrsapty 2026-08-25 15:52:21 +03:00
  • 628963c693 Fix phone label alignment — badge was cramped against the label text byrsapty 2026-08-13 21:50:50 +03:00
  • 4e8aba4135 Fix phone not prefilling on checkout for first-time customers byrsapty 2026-08-13 21:48:19 +03:00
  • 57cb526fc4 Customer order history: 5 orders per page instead of 20 byrsapty 2026-08-13 21:40:28 +03:00
  • 87b0dbb251 Paginate customer order history, pass product images to Monobank byrsapty 2026-08-13 21:31:21 +03:00
  • a16109e725 Add permanent order deletion (admin-only) byrsapty 2026-08-13 21:27:24 +03:00
  • 7136ceedce Stop retrying Telegram sends on ReadTimeout — was causing duplicate receipts byrsapty 2026-08-13 18:13:14 +03:00
  • 5a73b43fa3 Run Checkbox fiscalization in the background, start order numbers at 1 byrsapty 2026-08-13 18:06:41 +03:00
  • 5132e0833b Fix crash checking shift status right after closing byrsapty 2026-08-13 18:02:17 +03:00
  • 10a011ec09 Add optional auto-close for the Checkbox cash-register shift byrsapty 2026-08-13 18:00:55 +03:00
  • aa6fb44e1a Poll for Checkbox receipt PDF readiness before fetching it byrsapty 2026-08-13 17:54:48 +03:00
  • b94e39e0b1 Retry Telegram file uploads on timeout, center narrow admin form cards byrsapty 2026-08-13 17:48:23 +03:00
  • fa34a77002 Drop order_id from Checkbox receipt payload — it must be a UUID byrsapty 2026-08-13 17:35:43 +03:00
  • e8b549a5fb Fix Checkbox shift-open race, hide promo field with no active codes, center admin content byrsapty 2026-08-13 17:33:05 +03:00
  • ad9fe754ac Update README with dine-in orders, manual order creation, fiscalization, and theme colors byrsapty 2026-08-13 17:24:22 +03:00
  • 3a2b57be1c Add customizable theme colors and optional Checkbox PRRO fiscalization byrsapty 2026-08-13 17:01:49 +03:00
  • aa47095b80 Fix backup timestamps showing the wrong time, add logo-based admin favicon byrsapty 2026-08-13 01:17:52 +03:00
  • 4eab2fa198 Fix dine-in orders being mislabeled "САМОВИВІЗ" with "None" in staff chat byrsapty 2026-08-10 00:15:56 +03:00
  • e888cbf54e Add "dine-in" as a customer self-checkout mode in the Mini App byrsapty 2026-08-10 00:06:44 +03:00
  • 95a6ac6296 Add dine-in orders and manual order creation for staff byrsapty 2026-08-09 23:53:14 +03:00
  • b63e94337c Fix misaligned .row fields when labels wrap to different heights byrsapty 2026-08-09 22:29:40 +03:00
  • 0c61098e3d Fix ingredient delete, enforce whole numbers, redesign inventory UI byrsapty 2026-08-09 22:23:18 +03:00
  • be77a1fb3b Document inventory tracking and Google Drive backups in README byrsapty 2026-08-09 22:11:40 +03:00
  • 66f51286ba Add automatic Google Drive database backups with rotation byrsapty 2026-08-09 22:09:04 +03:00
  • 4dac2955e0 Add raw-material inventory tracking with auto-deduction (opt-in) byrsapty 2026-08-09 22:02:16 +03:00
  • 01cdb9feda Add force-closed screen and dismissible announcement popup byrsapty 2026-08-09 21:38:21 +03:00
  • 06b9c59fc8 Fix ambiguous "closed from X to Y" header wording byrsapty 2026-08-09 21:24:57 +03:00
  • c88447a194 Add ratings on/off toggle and a professional ratings dashboard byrsapty 2026-08-09 21:24:03 +03:00
  • 85686763cb Add "repeat order" one-click reorder from order history byrsapty 2026-08-09 21:02:49 +03:00
  • 91c62166bf Add post-order rating request (1-5 buttons via Telegram) byrsapty 2026-08-09 20:58:55 +03:00
  • 5dca844b7c Add promo codes with optional first-order-only restriction byrsapty 2026-08-09 20:53:06 +03:00
  • 92a2b76817 Fix clipped active dot in the order status timeline byrsapty 2026-08-09 20:46:41 +03:00
  • 717f9221ac Accessibility pass: color contrast, aria-labels, keyboard access byrsapty 2026-08-09 17:20:13 +03:00
  • 7bd1e8c4a7 Add skeleton loaders and empty-state illustrations to the Mini App byrsapty 2026-08-09 17:15:31 +03:00