Projekt:Matomat-Service

Aus k4cg.org
Projekt:Matomat-Service
Betreuer*In dagonC
Jahr 2019
Läuft auf matomat.intern.k4cg.org
URL https://github.com/k4cg/matomat-service

Allgemeines

Matomat-Service ist ein in Go geschriebenes Verwaltungsbackend für unsere Getränkeverwaltung und somit der Nachfolger von Projekt:Matomat.

Funktionsweise

Auf dem matomat.intern.k4cg.org gibt es einen user "maas", in dem das Golang Enviornment konfiguriert ist.

Der Gestartete Prozess verwaltet Daten in einer SQLITE Datenbank, bindet einen Port und hört dann auf HTTP REST Requests um Getränke zu buchen, login, Geld einzuzahlen usw.

Matomat Requirements

Terminal Anwendung

  • Max 16 Farben
  • Tolles matomat ascii logo
  • Soll auch erscheinen, wenn man ssh matomat@matomat macht.

Login

  • Anmeldung mit username + password
  • Oder RFID

Bedienung

  • Mate buchen
  • Bier buchen
  • Kontostand auffüllen
  • Kontostand anzeigen (im Banner)

Datenbank

Folgende Informationen brauchen wir

  • username
  • user created
  • current credits
  • user active
  • password

Wenn jemand ein bier kauft, wäre es schön wenn wir Transaktionen sehen können

  • Getränk
  • date
  • price

Administration

  • Neuen User hinzufügen
  • User löschen
  • Preise ändern
  • Kontostand ändern

Stats

Wenn wir irgendwie stats anzeigen koennen, waer geil. Mehr stats, mehr gut.

Installation

adduser maas
apt install golang
go get -v github.com/k4cg/matomat-service

Und einen Systemd Serivce

[Unit]
Description=Matomat as a Service

[Service]
Type=simple
ExecStart=/home/maas/go/bin/maas-server
Restart=on-failure
User=maas
WorkingDirectory=/home/maas

[Install]
WantedBy=multi-user.target

und natürlich ein bisschen Konfiguration die im Repo beschrieben ist.

Update

Das Update ist relativ straight forward.

su maas
cd ~/go/src/github.com/k4cg/matomat-service/
git pull origin master
go get -v ./...
exit
systemctl restart maas

Development

Bitte dem Repo (siehe Infobox) entnehmen!