1 Home
dzoe edited this page 2025-04-17 14:33:43 +02:00

#+title: BrmInv/BrmBar Rewrite

  • Meeting Minutes

** 2025-04-17 - Initial brainsorming

  • atendees:
    • joe
    • TMA
    • mrtvolka
    • specz
  • use-cases
    • end-user is buying goods for cash
      • if they are not a member, they can start a "cash transaction" (see below)
      • if they are a member, they can use their credit account
        • member can initiate "transaction" (intent to buy one or more items)
      • selects item, count, more items...
      • confirms transaction
      • if there is no stock left, ALERT (to user, weekly reports to rada@?)
        • perhaps ask the user to perform single-product inventory check
    • inventory check by administrator
    • member can credit their account
    • member can debit their account
    • inventory stock-in by administrator
    • upload of receipts
    • transfer between accounts
  • components
    • HW & SW: POS
    • application server
    • database
      • reliable HW
      • off-site on-line replication
      • application server has only read-only access to tables
      • all operations are implemented as stored functions which have the rights to modify data
    • administration
      • stock-in
      • inventory check
  • now we need a prototype of the UI
  • database
    • improvements:
      • schema version support
      • add currency trading account to account type type
    • migrate everything to stored functions
      • Account.py
        • 41:create_account
        • 70:add_barcode
        • 74:rename
      • Currency.py
        • 32:create
        • 71:update_sell_rate
        • 73:update_buy_rate
      • Shop.py
        • 27:sell
        • 41:sell_for_cash (only different description)
        • 55:undo_sale
        • 69:add_credit
        • 75:withdraw_credit
        • 81:transfer_credit
        • 85:buy_for_cash
        • 97:receipt_to_credit
        • 160:fix_inventory
        • 186:fix_cash
        • 206:consolidate
        • 221:undo
  • next steps:
    • install latest Ubuntu LTS on Raspberry Pi and industrial SD card
    • migrate postgresql to current version in the distribution
    • run the original brmbar3 in container and pass pgsql socket to it