Giter Site home page Giter Site logo

revbank's Introduction

revbank - Banking for hackerspace visitors

Using RevBank (for end users)

Type help.

More detailed help is available in Dutch on the the RevBank page on the RevSpace wiki.

Exiting revbank

Exiting is not supported because it's designed to run continuously on its main terminal. But if you run it from a shell, you can probably stop it using ctrl+Z and then kill the process (e.g. kill %1). RevBank does not keep any files open, so it's safe to kill when idle.

Upgrading RevBank

When upgrading from a previous version, please refer to the file UPGRADING.md because there might be incompatible changes that require your attention.

In general, upgrading is done by committing any changed files and then doing a git pull.

Installing RevBank

  1. Install the dependencies:
Debian:  apt install libterm-readline-gnu-perl libcurses-ui-perl
Generic: cpan Term::ReadLine::Gnu Curses::UI
  1. Clone the repository, run ./revbank :)

Configuring RevBank

revbank uses data files from the working directory from which it runs. You can use that to your advantage, if you don't want to change anything in your git working tree - in that case, copy revbank.* to the intended working directory, and symlink plugins. But you can also just change the files and deal with merge conflicts later, if you prefer.

RevBank just works out of the box if you're in a hurry, but there's a lot you could customize.

Pick a transaction ID scheme

If you skip this step, RevBank will use a large timestamp as a safe fallback.

You can use any string that Perl can increment with the ++ operator:

# Simple, recommended:
echo 1 > .revbank.nextid
# or
echo 00001 > .revbank.nextid
# or
echo AAAA > .revbank.nextid

This should be done only once. RevBank will increment the number. If you do wish to start a new sequence, you should clear .revbank.undo first if there is any chance that the sequences will overlap.

(Note: letters in transaction IDs are supported, but may not be compatible with local laws or external accounting software.)

Other configuration

  • revbank.plugins: enable or disable plugins here.
  • revbank.accounts: if you're migrating from another system, you can add the existing account balances here. Only the first two columns are mandatory (account name and balance). Editing the accounts file when revbank is in active use is not recommended because you might overwrite the effect of the latest transactions, but you can maybe get away with it if you're fast enough.
  • revbank.products: list your products here; the first column is a comma separated (no space after the comma!) list of product codes. Only the description makes it into the logs so make it sufficiently unique.
  • plugins/deposit_methods: if you want to enable this plugin (which is highly recommended!), at least change the bank account number. When customizing plugins, you can either copy the file and use your own, or edit the existing file and deal with merge conflicts later. Either way you'll have to pay attention to changes when upgrading.

After changing revbank.plugins or any of the actual plugin files, you'll need to restart revbank. The easiest way to do that is ctrl+D. No restart is required after editing revbank.products, revbank.market, or revbank.accounts.

If your terminal is unable to beep, e.g. if it's Linux console on a Raspberry Pi, copy the beep_terminal plugin to a new file, and figure out another way to play a sound or make a light flash. This is optional, but in general it's useful to have something that alerts users to the mistakes they make. An audible bell works better than a visual effect, but why not both?

Cash box

If you want RevBank to indicate how much money it thinks the cash box should contain after every cash transaction, you'll probably want to enable the plugins deposit_methods, cash, and skim.

Documentation

End-user documentation is provided through the help command. For RevSpace visitors, some additional end-user documentation is available in Dutch at https://revspace.nl/RevBank.

RevBank can be used without RTFM, but some documentation is provided to describe the inner workings in more detail:

The plugins are mostly undocumented, but some have useful hints in the source files, and some have actual documentation:

Note: internal links between POD files are all broken in GitHub's rendering, because GitHub wrongly assumes that every Perl package lives on CPAN.

revbank's People

Contributors

juerd avatar peetz0r avatar polyfloyd avatar praseodym avatar psy0rz avatar tmsbrg avatar xesxen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

revbank's Issues

Documentation out of date

"Debian: apt install libterm-readline-gnu-perl"

is out of date and obselete

the following error is being thrown by Debian Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package libterm-readline-gnu-perl is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libterm-readline-gnu-perl' has no installation candidate

issue with iban qr code generating

Hi,

I set up a new revbank and setup the qr code plugin with the correct information.
And followed the UTF-8 guide. Now is I want to use the iban payment it gives me the error
Plugin 'users' failed: open2: exec of qrencode -t ansiutf8 -m 2 failed : No sucht file or directory at plugins/deposit_iban_qr line 32., called at /home/pi/revbank/lib/revbank/Cart.pm line 98.

Any idea what I miss here?

I made a syntax error, but it didn't got refused.

I did this incorrect thing:

2018-08-10_08:21:37 CHECKOUT 233882097     Peetz0r      LOSE EUR  1.00  # Bapao
2018-08-10_08:21:37 CHECKOUT 233882097     Peetz0r           EUR  0.00  # Next product repeated 2 times
2018-08-10_08:21:37 CHECKOUT 233882097     Peetz0r      LOSE EUR  1.00  TOTAL
2018-08-10_08:21:37 BALANCE 233882097 Peetz0r had +9.96, lost 1, now has +8.96

So instead of either doing what I wanted or not doing anything and printing an error it, it processed an transaction and created a line with a missing column (no GAIN or LOSE).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.