Abrechenbarkeit v2
A simpler trust based ledger.
The entire application is contained within abrechenbarkeit.lua
. This script
implements CGI. It was tested against Lua version 5.4.7. Application data is
stored in a number of files in the process working directory (See below).
The repository also contains a configuration file for the
gnix http server (gnix.yaml
) which is
useful for development or proxyless deployments.
Data Files
log
stores the transaction log as CSV (time,user_a,user_b,amount,pcode,pcount,comment
)products
stores the product list as CSV (barcode,price,user,name
)config
stores configuration parameters as ESV (key=value
)transaction_sound
: URL to sound played when creating a transactionlanguage
: Language code, e.g. de, en, es, ja_en, nl, pt_BR, zh_Hansbalance_warning
: balance in cents to show warning atbalance_min
: minimum balance to be held by all users, in centsunit
: unit used in the UI, e.g. €, $, EUR
Migration from Strichliste
curl 'http://strichliste.example.org/api/user?deleted=false' | jq -r '.users.[] | [ 0, "@Potential", .name, .balance, "", "", "" ] | join(",")' > log
curl 'http://strichliste.example.org/api/article' | jq -r '.articles.[] | [ .barcode, .amount, "@Drinks", .name ] | join(",")' > products
Non-linked User lists
- list of users with last transaction timestamp and balance in csv format:
http://abrechenbarkeit.example.org/?csv
- list of Users with negative balance:
http://abrechenbarkeit.example.org/?negative
- list of Users with balance lower than
: http://abrechenbarkeit.example.org/?negative&maximum=<amount>