[https://github.com/k4cg/matomat-service]
The old matomat code needs to be rewritten.
- Split the former monolithic concept into a service and a (g)ui layer.
- Code should be modular enough to swap out and / or add new components (e.g. different auth methods, different ways to "consume" a drink)
The new system should at least provide the functionality listed below. (At the current point in time no inventorization of drinks is planned. So no need to e.g. check if enough drinks are available when performing an "consumption" of a drink)
- login
- username / password
- rfid
- logout
- have at least two user roles: admin and regular user
- user create (by admin)
- user delete (by admin or the user)
- user edit (by user)
- password change (by user)
- password reset (by admin)
- add credit (for and by user)
- use credit (by user)
- show credit (for user)
- [transfer credit to other user (by user)]
- add drink(s)
- remove drink(s)
- show available drinks
- consume drink
- track consumed drinks
- show consumed drinks
- [send consumption / consumption highlights to mqtt?]
- show current total credits in system
- Needs to run in "text only" mode on a terminal