~~NOTOC~~
====== brmBar ======
{{template>project:infobox|
name=brmBar|
image=brmbar.jpg?200|
founder=brmlab collective|
interested=[[user:pasky]]|
status=active
}}
~~META:
status = active
&relation firstimage = :project:brmbar.jpg
~~
Brmbar is our tiny drinks, snacks, electronics, t-shirts stash. Anyone can put things into brmbar or buy stuff; visitors for cash, members can use a simple credit system.
**Status:** brmbar-v3.0 is up and running, implemented in Python (with cleanly separated backend classes), Qt-Declarative and PostgreSQL. Some [[https://github.com/brmlab/brmbar/blob/master/brmbar3/TODO|TODO]] [[https://github.com/brmlab/brmbar/blob/master/brmbar3/README.md#todo|items]] remain, but it should be usable for day-to-day operation.
**Documentation:** [[https://github.com/brmlab/brmbar/blob/master/brmbar3/README.md|README]] - [[https://github.com/brmlab/brmbar/blob/master/brmbar3/USAGE.md|USAGE]] ([[http://brmlab.cz/pipermail/brmlab/2012-October/004134.html|in Czech]])
**Development:** [[https://github.com/brmlab/brmbar/tree/master/brmbar3|Sources @ github]] - [[https://github.com/brmlab/brmbar/blob/master/brmbar3/SQL|SQL schema]] - [[https://github.com/brmlab/brmbar/blob/master/brmbar3/doc/architecture.md|Architecture and object model]]
{{:project:brmbar-screenshot-main.png?nolink&250|}} {{:project:brmbar-screenshot-buy.png?nolink&250|}} {{:project:brmbar-screenshot-item.png?nolink&250|}} {{:project:brmbar-screenshot-restock.png?nolink&250|}} {{:project:brmbar-screenshot-userlist.png?nolink&250|}}
02:19 < pasky> excess je suma prostredku,
ktere mame navic (prijemne prekvapeni)
02:19 < pasky> deficit je suma prostredku,
ktere nam chybi (neprijemne prekvapeni)
==== Wishlist, bugs, feature requests, User eXperience ====
* [Stock Mgmt] moznost vyhledavani podle stringu - umožnit input na klávesnici (challenge kvůli čtečce barcodů)
* Výstupy dat - např. historie cashe se zakreslenými transakcemi. V současnosti je analýza extrémně komplikovaná.
* Prodej spojitého zboží - například u soylentu nebo müsli by mělo jít koupit si 666.66 g a systém to správně započítá do stocku.
* Zrychlit kreslení Stock Mgmt stránky.
==== Local Brmlab Setup ====
List of current stock: http://nat.brmlab.cz/brmbar/stock/
=== VNC ===
ssh -At nat.brmlab.cz -L5900:brmbar.brm:5900 ssh brmlab@brmbar.brm x11vnc
=== Backup ===
crontab -l
00 3 * * * /home/zalohovac/zalohuj_brmbar.sh
#!/bin/bash
BACKUP_DIR="${HOME}/ZALOHY/"
ssh -t -t brmbar.brm -l brmlab 'su - postgres -c pg_dumpall' > ${BACKUP_DIR}brmbar-`date +%F-%T`.sql
ls -l ${BACKUP_DIR}
===== Archive =====
Short version history:
* v0.0 was a large wall-piece of paper with prices and piece of paper with credit tracking
* v1.0 was DOS-based tablet (by czestmyr)
* v2.0 was an attempt on a LPC revamp (by sargon + stick) that was not finished
* v3.0 is pasky's Python/Qt/PostgreSQL brmbar implementation with proper accounting
v1.0 -> v3.0 transition ultimately happenned on 2012-10-16.
Draft database schema and process classification (inspiration, but implemented with modifications):
{{:project:db.dia|}}
{{:project:process.dia|}}
===== Výroba čiarových kódov do Brmbaru ====
- Nainštalujeme si glabels (vo Fedore to má ako závislosť zint, ktorý vyrába krajšie kódy)
- Vyrobíme si jednostĺpcové „CSV“ s užívateľmi (jedne užívateľ na riadok a nič iné)
- Spustíme glabels.
- Klikneme na vytvorenie nového súboru.
- Vo wizardovi si vyberieme niečo, čo vyzerá rozumne (tri stĺpce na výšku, primeraný počet riadkov).
- Dáme next, next.
- Zobrazí sa nám políčko. Klikneme na tlačítko upraviť vlastnosti zlúčenia (to úplne vpravo) - "Edit merge properties".
- Vyberieme CSV a pod tým súbor s dátami. Dáme ok.
- Klikneme na tlačítko s čiarovým kódom a niekam ho umiestnime do plochy.
- Ako štýl kódu vyberieme Code 128 (ako backend zint alebo gnu barcode).
- Zrušíme zaškrtávatko text (text bude oddelene).
- Na záložke data vyberieme Key (a jedničku: prvý stĺpec z dát).
- Klikneme na tlačítko text (ikona "Create text object"), vložíme text pod čiarový kód.
- Na záložke text zmažeme obsah a dáme insert merge field. (text má byť ${1})
- Dáme print.