1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
### 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)
### frontend
* add auto-logout
#### 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
#### 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
* Improve error message when adding an already existing EAN
* 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)
* Implement a more fine-grained authentication system
* OpenID based login
#### LOG
* implement log daemon
* get logfile destination from config
#### DATABASE
* check sqlite WAL mode
- http://www.sqlite.org/wal.html
- checkpoint operation for fsync
#### BACKUP
* Git based backup service
- using libgit2-glib
- one commit per local session (login/logout)
- one commit per web interface operation
- uses name + email of the operating person
- commit database
- use diff textconv hook in the git repo
#### 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)
|