brmbar/brmbar3
2025-04-20 17:01:05 +02:00
..
brmbar SQL schema v002 script part 1 2025-04-11 20:56:17 +02:00
brmbar-gui-qt4 uncommitted changes from other people... again 2025-03-30 20:55:00 +02:00
doc Add basic documentation: README, INSTALL, Architectural overview 2013-02-10 16:18:34 +01:00
import Add import scripts brmbar1 -> brmbar3 2012-10-17 21:12:43 +02:00
schema #1: add initial SQL schema as the database currently in use 2025-04-20 17:01:05 +02:00
.gitignore gitignore 2018-04-02 01:41:02 +02:00
alert.sh mplayer -really-quiet 2015-12-15 02:54:46 +01:00
autostock.py autostock.py 2018-04-02 01:46:01 +02:00
brmbar-cli.py brmbar-cli: restock by EAN (for automated restocking) 2018-04-02 01:41:24 +02:00
brmbar-gui-qt4.py disable exchange rate and balance in StockMgmt because of unbearable slowdown 2016-08-19 04:37:04 +02:00
brmbar-tui.py brmbar-tui.py: Use brmbar.Database instead of psycopg2 directly 2012-11-25 16:30:01 +01:00
brmbar-web.py Old uncommited changes, restock from cli, "cleanup bounty" feature 2015-07-01 01:06:59 +02:00
COPYING brmbar3 COPYING: brmbar3 released under GPLv2+ 2012-10-19 00:52:00 +02:00
crontab sample crontab file 2018-04-02 01:40:37 +02:00
daily-summary.sh daily-summary.sh: Add granatove mate to the count 2015-01-02 19:35:00 +01:00
dluhy.sh uncommitted changes from other people... again 2025-03-30 20:55:00 +02:00
INSTALL.md Added ubuntu packages 2013-07-06 14:17:52 +02:00
log.sh sample crontab file 2018-04-02 01:40:37 +02:00
PURGE.txt db purge howto 2018-04-02 01:40:46 +02:00
README.md brmbar-web: New trivial read-only UI 2014-04-06 20:52:00 +02:00
SQL SQL schema v002 script part 1 2025-04-11 20:56:17 +02:00
SQL-for-RO-access.sql functions for querying sequence values for read only access 2025-04-11 13:39:07 +02:00
SQL-schema-v001.sql schema v1 setup script 2025-04-20 10:12:30 +02:00
SQL-schema-v002.sql schema v2 setup script 2025-04-20 10:13:31 +02:00
SQL.test Initial implementation of brmbar v3 - brmbar v1 emulator brmbar-cli.pl 2012-08-29 03:52:30 +02:00
TODO TODO: Remove done items, add description 2013-02-10 16:25:49 +01:00
uklid-refill.sh Old uncommited changes, restock from cli, "cleanup bounty" feature 2015-07-01 01:06:59 +02:00
uklid-watchdog.sh brmbar-cli: restock by EAN (for automated restocking) 2018-04-02 01:41:24 +02:00
USAGE.md USAGE: Document brmbar-cli stats 2016-01-07 05:26:40 +01:00
USEFUL.txt uncommitted changes from other people... again 2025-03-30 20:55:00 +02:00

BrmBar v3

BrmBar is a management system for running a tiny hackerspace shop with self-service usage based on trust and support for user accounts and inventory tracking.

BrmBar offers a touchscreen-based user interface, identifies items and users by barcodes scanned by a barcode reader, should run on any decent Linux machine and stores its data in PostgreSQL database.

Features

  • Very simple user interface (using big touchscreen buttons and barcode reader) that should enable even non-technical users to do basic shopping with little to no training.
  • Users may have their accounts they can load with money by depositing larger sum of money in advance, then charging their account when buying stuff. Of course, paying direct for cash is also supported.
  • Inventory and cash accounts are tracked so that you can make sure there is no Club Mate mysteriously disappearing or if the amount of cash in the cash box is not less than expected by the system.
  • You can enter receipts for duct tapes and other necessities to be financed by cash surplus generated by brmbar.
  • Simple management operations (depositing and withdrawing money from user accounts, entering receipts, stocking in new inventory) can be also performed in the user interface even by non-technical users with basic training.
  • The database is based on the classical accounting paradigm. This means no information is needlessly lost, you could even make a GNUCash export and your accounting geeks will feel warm and fuzzy.
  • Multiple user interfaces available (and possible). The primary user interface is based on QtQuick (Qt4 QML QtDeclarative).

User Interfaces

These UIs are provided:

  • brmbar-gui-qt4: The default touchscreen-based UI. The Python side provides an adapter object whose methods can be executed by the QML code; ad-hoc directionary objects are used to exchange complex data like account information.
  • brmbar-tui: A trivial text-based "shell" UI that mimics a historic interface used in the Brmlab hackerspace in the past. It supports only selling items, querying item price and user account balance and depositing money for the user accounts.
  • brmbar-cli: A command-line interface intended for use in scripts and remote usage when fixing problems. It is also meant to provide advanced functionality like inventory revision that is too tedious to implement in the Qt4 GUI and only the brmbar admins are expected to do these tasks.
  • brmbar-web: A simple read-only web interface to the stock list.

TODO

  • The user interface needs some improvements, mainly regarding scrolling in large lists.
  • The brmbar-cli.py admin script for advanced/remote management operations is largely unfinished. In the meantime, you need to use SQL statements, sorry. Or finish it yourself. :-)
  • It is common to have two stashes of cash, one in a cash box in the shop, another in a vault (sometimes called "overflow") where extra cash is stored. The brmbar model supports this, but UI support needs to be added.
  • Bitcoin support, somehow...

Some more TODO items may be listed in the GitHub issue tracker; missing brmbar-gui-qt4 features are listed in the TODO file.

Other Resources

See the INSTALL file for setup instructions and USAGE file for basic usage instructions. The doc/architecture file describes the brmbar object model and briefly explains the brmbar Python package.