diff options
author | Johannes Rudolph <johannes.rudolph@gmx.com> | 2018-01-13 19:21:48 +0100 |
---|---|---|
committer | Sebastian Reichel <sre@ring0.de> | 2018-06-28 01:52:53 +0200 |
commit | 3f628663b68585f4e8aeb11143b483a3b1ec8ae2 (patch) | |
tree | a83b9009e25f21869ef096d37fcc62a836515968 /README | |
parent | f6f85e718f9ade5453468a69441ea3b103d1e100 (diff) | |
download | serial-barcode-scanner-3f628663b68585f4e8aeb11143b483a3b1ec8ae2.tar.bz2 |
rename README to README.md
Diffstat (limited to 'README')
-rw-r--r-- | README | 90 |
1 files changed, 0 insertions, 90 deletions
@@ -1,90 +0,0 @@ -This is the Shop System of Oldenburg's Hackspace Mainframe. - -The software has been developed as a credit based system for members of the -hackspace. The system depends on a cheap serial barcode scanner, which is used -to establish user sessions (by scanning CODE39 based user codes) and buying -products (by scanning their EAN). The members receive an invoice at the end of -the month, which is also send to the hackspace's treasurer for further processing. - -Since the user barcodes do not contain any advanced authentication mechanism, -security is established by sending daily mails in addition to the monthly -invoice mail. The daily mail (which is only sent if something has been bought) -lists all products bought by the member on this day and the current total sum -for the month. - -The system provides the following features: - * time shifted daily mails (08:00-07:59 of the following day), so that there - is a lower chance of purchases from one visit being split over two mails. - * native rendering of PDF invoices using Cairo (fast & lightweight) - * invoice mails are sent using text/plain and text/html - * support for sending a database backup to a mail address - * curses based user interface - * basic audio support - -The system administration is done using a simple web interface, which provides -support for the following tasks: - * adding information about new products - * restocking products - * changing selling prices of products - * updating the user database by importing a userlist.csv - (regularly generated by our treasurer) - -The system consists of multiple daemons written in Vala, which communicate -with each other using DBus. - -Build Dependencies: - * apt install build-essential valac libesmtp-dev libgpgme11-dev libncursesw5-dev libncurses5-dev libgee-0.8-dev libgmime-2.6-dev libarchive-dev libgstreamer1.0-dev libgtk2.0-dev librsvg2-dev libsoup2.4-dev libsqlite3-dev libpango1.0-dev libssl-dev dbus-x11 mdbus2 policykit-1 - -Additional runtime dependencies: - * apt install fonts-lmodern gstreamer1.0-alsa gstreamer1.0-plugins-base - -Suggested runtime dependencies: - * apt install sqlite3 - -== Installation == - -You can install to different location or use a different username, -but you need to modify a few things. - -=== Git Setup === - - * adduser "shop" with homedir in /home/shop - * clone git repository into /home/shop/serial-barcode-scanner - -=== Build the Software === - - * ./configure - * make shop.db - * make - -=== DBus Configuration === - - * cd dbus - * make - * sudo make install - -=== Systemd === - - * cd systemd - * sudo make install - -=== Configuration === - - * mv example.cfg ktt-shopsystem.cfg - * edit ktt-shopsystem.cfg - -=== Database === - - * Create user - `sqlite3 shop.db "INSERT INTO users (id, email, firstname, lastname) VALUES (1, 'test@tester', 'Firstname', 'Lastname');"` - * Setup user password - `mdbus2 -s io.mainframe.shopsystem.Database /io/mainframe/shopsystem/database io.mainframe.shopsystem.Database.SetUserPassword 1 "password"` - `sqlite3 shop.db "UPDATE authentication set superuser = 1, auth_users = 1, auth_products = 1, auth_cashbox = 1 where user = 1";` - * Demo Data - `sqlite3 shop.db "INSERT INTO categories (name) VALUES ('Getränke')";` - `sqlite3 shop.db "INSERT INTO supplier (name,city,postal_code,street,phone,website) VALUES ('Demo Lieferant','Musterstadt','12345','Musterstraße 5','+49 1234 56789','https://www.ktt.de');"` - -== Customize Your Shop == - -Edit the Logo in the logo.txt File. -A helpful tool you will found here [http://patorjk.com/software/taag/](http://patorjk.com/software/taag/) |