You do not have permission to edit this page, for the following reason:
The action you have requested is limited to users in the group: Users.
Free text:
= 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. = design = Wild ideas and suggestions on the {{Discuss}} == 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. [[Media:Ackbar-160516.zip|MySQL workbench database design, and generated SQL]] == frontend == * M: Scan a product and buy it * S: administrative: add/edit/remove products * S: possibility for (automated) inventory and cash audits * [[User:Prodigity|Prodigity]] is thinking of writing the frontend in Python * [[User:Xopr|Xopr]] is thinking of using html/javascript * [[User:Stuiterveer|Stuiterveer]] will take care of the frontend, including localization = current (old) system = We want to have less change hassle with snacks and drinks consumption: 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 first version was mainly written in bash (and a bit of perl + x86 binaries) by [[User:Prodigity|Prodigity]] for an HP ePC C10 running OpenBSD. : Since the hard disk slowly turned into an angle grinder, [[User:Xopr|xopr]] ported the system to a Raspberry Pi running FreeBSD, replacing the incompatible x86 binaries with shell scripts on its own. : preparation has been done to connect the bar to a livestock mechanism (via the [[SpaceAPI]]), but is not added to the current script. : It recently got an upgrade to make remote transaction possible (note that it is still a single-user backend: before logging in, it checks if someone else is logged in). : Also, efforts have been done to connect the Paypal REST API, but the code examples are a <abbr title="Piece Of Sh..">POS</abbr> and [[User:Xopr|xopr]] is not going to add a [[GitHub::https://github.com/paypal/PayPal-PHP-SDK|megabyte of rubbish]] to build with [https://getcomposer.org/ composer] just to top up one's account with a Euro or two. It ought to be simple: secure login, verify transaction, handle successful callback, top-up local database.. Currently, it is possible to start <code>./finarbar.sh</code> with an optional parameter: a serial device where the barcode scanner is attached to. Use a non-existant dummy file to force keyboard-only input ACKbar is connected to fuse group [[Fuse group::B]]. ==Functional Design== '''Must have''' * barcode scanning * add products * deposit money * account * keyboard input<br /> * cancel any operation<br /> * admin functions<br /> * cud functions<br /> '''Should have''' * touchscreen<br /> * voorraadbeheer<br /> * kasbeheer<br /> '''Could have''' * names with spaces<br /> * tab completion<br /> * multi-language<br /> '''Wont have''' * Internet connection<br /> '''Flowchart''' [[File:Bar flowchart.png|center|Flowchart for the Bar System]] Location: [[Location::slACKspace]]
Summary:
This is a minor edit Watch this page
Cancel