Software

From Chaosdorf Wiki
Revision as of 11:46, 7 March 2019 by Ytvwld (talk | contribs) (→‎Qualitätssicherung: Linting und CI)

Im Chaosdorf wird Einiges an eigener Software entwickelt und auch verwendet. Diese Seite soll eine Übersicht darüber geben.

Name beteiligte Personen läuft auf Code Sprache Wiki Link [1]
dashpi ytvwld, marudor Dockerserver github.com/chaosdorf/dashpi Ruby Dashboard https://dashboard.chaosdorf.space/
labello bison, ytvwld, marudor Dockerserver github.com/chaosdorf/labello Python Labelprinter https://labello.chaosdorf.space/
mete nomaster, ytvwld, mxey, marudor Dockerserver github.com/chaosdorf/mete Ruby nein https://mete.chaosdorf.space/
dorfmap derf, marudor, xchange Feedback github.com/chaosdorf/dorfmap Perl/Javascript Lichtsteuerung http://dorfmap.chaosdorf.space/
dorfmap-websockets marudor Dorfmapserver github.com/chaosdorf/dorfmap-websockets Javascript nein http://dorfmapserver.chaosdorf.space:3001/events
chaospizza xchange Dockerserver github.com/chaosdorf/chaospizza Python nein https://pizza.chaosdorf.space/
freitagsfoo-web ytvwld Dockerserver github.com/chaosdorf/freitagsfoo-web Python Infobeamer-pi https://fftalks.chaosdorf.space/
freitagsfoo-infobeamer ytvwld Infobeamer-pi github.com/chaosdorf/freitagsfoo-infobeamer Lua Infobeamer-pi nein
freitagsfoo-wiki-json ytvwld Shells github.com/chaosdorf/freitagsfoo-wiki-json Python nein nein
mpd2mqtt ytvwld, xchange Dockerserver github.com/chaosdorf/mpd-mqtt-gateway Python Multimedia nein
twiki bison, ytvwld Shells github.com/pythonfoo/twiki Python nein @chaosdorf_wiki
mpdefault nomaster, bison Fileserver github.com/chaosdorf/mpdefault Python Multimedia nein
wikicron derf shells github.com/chaosdorf/wikicron Perl
telemete cuminbreeze (maride, ytvwld) Dockerserver git.darknebu.la github.com/chaosdorf/telemete Python nein nein
meteroid ytvwld, donnerbart auf deinem Android-Gerät (und auf Mete-Tablet) github.com/chaosdorf/meteroid Java Meteroid nein

TODO: mehr Software?

TODO: Zweck, Lizenz?

Qualitätssicherung

Natürlich ist diese Software nicht perfekt. Fehler können und werden passieren, sollten aber erkannt und behoben werden.

Software Anzeige des aktuell laufenden Commits Link zum Repo Sentry-Integration (Backend) Sentry-Integration (Frontend) Sentry-Formular Tests Linting CI Dokumentation
dashpi nein nein ja nein - nein nein nein nein
labello nein nein ja nein nein nein nein nein nein
mete ja ja ja nein nein ja nein ja zu wenig
dorfmap nein ja nein nein nein nein ? ja ja
dorfmap-websockets nein nein nein nein nein nein ? nein nein
chaospizza nein nein ja nein nein ja ja ja ja
freitagsfoo-web ja ja ja ja ja nein nein nein nein
freitagsfoo-infobeamer nein nein nein nein - nein nein nein ja
freitagsfoo-wiki-json nein nein nein - - nein nein nein nein
mpd2mqtt - - ja - - nein nein nein nein
twiki - - nein - - nein nein nein teilweise
mpdefault - - nein - - nein nein nein ja
wikicron - - nein - - nein nein nein nein
telemete nein nein ja - - nein nein nein ja
meteroid nein nein - nein nein nein teilweise ja nein

TODO: erklären, was die einzelnen Punkte bringen

TODO: Monitoring?

HowTo

Du möchtest Software für den Einsatz im Chaosdorf entwickeln? Danke für deinen Einsatz, aber schau vielleicht, ob es schon Software gibt, die den Anwendungszweck erfüllt, den du bearbeiten möchtest. Und beachte die folgenden Hinweise:

  • Soll die Software im Clubraum laufen oder auf vm? Diese Anleitung nimmt ersteres an.
  • Am einfachsten wäre es, wenn die Software in Docker läuft. Davon geht diese Anleitung aus. Ansonsten wäre ein Extra-Gerät (z.B. ein Raspi) oder eine VM auf helios möglich.
  • Integration mit Sentry (sentryserver) wäre schön (und Tests und Doku und der Rest aus der Qualitätskontroll-Tabelle).
  • Verwendet die Software persistente Daten?
    • Falls nein: einzelner Container
    • Falls ja: PostgreSQL und docker-compose
    • (Volumes sind auch möglich.)
  • Kommt die Software mit nur einem Container aus? (Falls nein: docker-compose)
  • Benötigt die Software Secrets (z.B. API-Tokens)?
    • Falls ja: Umgebungsvariablen oder Docker-Secrets-Mechanismus nutzen
  • Code in einem öffentlich zugänglichen Git-Repository halten
  • Autobuild für Dockerhub
  1. funktionieren meistens nur aus dem Chaosdorf-Netzwerk