summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorSebastian Reichel <sre@ring0.de>2014-02-02 23:58:09 +0100
committerSebastian Reichel <sre@ring0.de>2014-02-02 23:58:09 +0100
commit4ba5ef9f925f0d7277ddddb4e10d56872b57ac04 (patch)
tree217605a1edee3b1695d1c5b991ccaef2a85c2632 /README
parent59f174bac810b123365ec2fc0ffb04379751308a (diff)
downloadserial-barcode-scanner-4ba5ef9f925f0d7277ddddb4e10d56872b57ac04.tar.bz2
add README
Diffstat (limited to 'README')
-rw-r--r--README47
1 files changed, 47 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..4061995
--- /dev/null
+++ b/README
@@ -0,0 +1,47 @@
+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.
+
+Building:
+ * ./configure
+ * make shop.db
+ * make
+
+Installation:
+ * make install (TODO)
+
+Usage:
+ * setup ktt-shopsystem.cfg
+ * start the curses UI in /etc/inittab
+ * start the web UI via /etc/init.d/
+ * call the invoice tool via cron