BarSystem
Project: BarSystem | |
---|---|
Featured: | |
State | Stalled |
Members | Multiple |
GitHub | No GitHub project defined. Add your project here. |
Description | Building our own BarSystem |
Picture | |
No project picture! Fill in form Picture or Upload a jpeg here |
Contents
synopsis
Replace the existing (shell script) bar system with a more future proof and maintainable system that apart from letting users having an account, also helping us with inventory management and cash audits. The current system is more than two years old, hard to do maintenance on, and recently, the disk is starting to transform into an angle grinder.
design
Wild ideas and suggestions on the discussion page
hardware
- M: cheap and disposable system hardware, like a Raspberry PI
- M: barcode scanner (for products, automatic user login and/or administrative assistance)
- M: keyboard input (for user login, administrative tasks)
- S: multilingual (en/nl at least, de optional)
- S: iButton reader (for secure automatic user login and/or administrative tasks)
- C: touchscreen (for ease of use)
- W:
database and backend
- M: able to do transactions without having a registered username with ACKbar credit
- M: able to make backups (and restores) easily
- M: json API for at least the basic functions
- S: able to generate reports (sold products, inventory, cash)
- aes256cbc has been working on the database part, and will take care of the rest of the backend (in php), with a json formatted API.
MySQL workbench database design (rename to .mwb)
frontend
- M: Scan a product and buy it
- S: administrative: add/edit/remove products
- S: possibility for (automated) inventory and cash audits
- Stuiterveer will take care of the frontend, including localization
current (old) system
We want to have less effort with the cash register. Currently we use a pay-direct system. People generally pay for a single item with a 5 or 10 euro note which quickly leads to the amount of change being low.
The general idea is to create a system where you can have an account and prepay for your stuff. Then use a barcode/touchscreen system to withdraw the prices from the account. This way we can reduce the need for the large amounts of change.
Also it would be nice to have less effort with counting the cash register and stock, which currently takes approx. 15 min per day.
We could use one of the existing systems used by other spaces, but we feel we really should create our own version. As of current there are 2 systems being developed. The first is in bash-shell , the second is in LOLcode http://lolcode.org/ We have got a dedicated OpenBSD machine (HP ePC C10) with a barcode scanner and a touchscreen to make it as easy as pie to use this system. The barcode scanner is working, the touchscreen works but the touch based BarSystem isn't finished yet. Unfortunatly we haven't found any (proper) documentation yet :\
Functional Design
Must have
- barcode scanning
- add products
- deposit money
- account
- keyboard input
- cancel any operation
- admin functions
- cud functions
Should have
- touchscreen
- voorraadbeheer
- kasbeheer
Could have
- names with spaces
- tab completion
- multi-language
Wont have
- Internet connection
Flowchart