diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 87 |
1 files changed, 0 insertions, 87 deletions
@@ -1,87 +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 - -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 - sqlite3 shop.db "update authentication set password = '$(echo -n yourpw | shasum -a 256 | cut -d " " -f 1)' where user = 1;" - -=== Some Vala resources === - -* https://wiki.gnome.org/Projects/Vala/ValaForJavaProgrammers -* https://valadoc.org/ -* https://getbootstrap.com/2.3.2/
\ No newline at end of file |