summaryrefslogtreecommitdiffstats
path: root/TODO.md
diff options
context:
space:
mode:
authorSebastian Reichel <sre@ring0.de>2014-02-03 00:11:41 +0100
committerSebastian Reichel <sre@ring0.de>2014-02-03 00:11:41 +0100
commitf4a4c177d0340a426643d90aca7a0928ef2ac727 (patch)
tree9c97266f8ccc86af33f3d2b6af9ab3656d12d17b /TODO.md
parent4ba5ef9f925f0d7277ddddb4e10d56872b57ac04 (diff)
downloadserial-barcode-scanner-f4a4c177d0340a426643d90aca7a0928ef2ac727.tar.bz2
add TODO file
Diffstat (limited to 'TODO.md')
-rw-r--r--TODO.md97
1 files changed, 97 insertions, 0 deletions
diff --git a/TODO.md b/TODO.md
new file mode 100644
index 0000000..2324aa2
--- /dev/null
+++ b/TODO.md
@@ -0,0 +1,97 @@
+### Build System
+ * update Makefiles to use config.mk
+ * create VAPI file for config.h
+ * support "make install"
+
+#### CORE
+ * disallow buying for disabled users
+ * support user discounts
+ * remove hardcoded stuff from invoice and pdf-invoice
+ * drop to user rights in all daemons if started as root user
+ - [old code](https://github.com/ktt-ol/serial-barcode-scanner/commit/504cefec4a93a9b52fa9d25d6f353a4676485c43)
+
+#### libcairobarcode
+ * write vala library using cairo to generate a barcode
+
+#### USERLIST-PDF
+ * write new vala process, which generates a user list pdf using libcairobarcode
+
+#### PRODUCTLIST-PDF
+ * write new vala process, which generates a product list pdf using libcairobarcode
+ - Version 1: EAN, Barcode, Name, Amount, Buying-Price
+ - Version 2: EAN, Barcode, Name, Member-Price, Guest-Price
+ * first implement a deprecated flag for products, so that products
+ being deprecated and having an amount of zero are not shown
+ on the lists
+
+#### MAIL
+ * add PGP support in mail script
+
+#### MAIL-SERVICE
+ * IMAP client, which is parsing incoming mails from shop@ktt-ol
+ * interpret commands similar to the Debian Bug Tracker
+ * authentication is done using PGP, only signed mails are accepted
+ * support help command, which lists all supported commands
+ * support restocking via mail
+ * support requesting invoice data for own user
+ * support requesting personal data
+ * support password setup
+
+#### WEB
+ * Reimplement statistics, add cache (?)
+ * Implement User Statistics
+ * Support renaming products
+ * Admin: support to disable/enable users
+ * Admin: support to delete sales
+ * Admin: support to add sales
+ * Admin: support listing/adding/editing suppliers
+ * Support generating a barcode userlist (USERLIST-PDF)
+ * Support generating product price list (PRODUCTLIST-PDF)
+ * Support generating shopping list (PRODUCTLIST-PDF)
+ * Support to generate a sorted best before dates list
+ * Implement a more fine-grained authentication system
+ * OpenID based login
+ * SSL support
+
+#### LOG
+ * implement log daemon
+ * get logfile destination from config
+
+#### DATABASE
+ * check sqlite WAL mode
+ - http://www.sqlite.org/wal.html
+ - checkpoint operation for fsync
+
+#### SQL
+ * DISCOUNT table:
+ - userid
+ - start
+ - stop
+ - percent
+ * USER_SETTINGS table
+ - mail_mode (text, html or both)
+ - audio_theme
+ * REMOVED_SALES table
+ - userid
+ - product
+ - sale_time
+ - remover
+ - removal_time
+ * PRODUCT_NUTRITION_DATA table
+ - product id
+ - energy
+ - sugar
+ - ...
+ * PRODUCT_DEPOSIT table
+ - product id
+ - deposit (0.08€, 0.15€)
+ * PRODUCT_GROUPS table
+ - group id
+ - group name
+ * PRODUCT_AMOUNT_TYPE table
+ - amount type id
+ - amount type name (Liter, Gramm, Kilogramm, ...)
+ * PRODUCTS table
+ - add group field referencing PRODUCT_GROUPS
+ - add amount field (integer)
+ - add amount type field (reference)