---
# System prepended metadata

title: Hackathon 2022-04-25

---

# Hackathon 2022-04-25
Dank an Kevin fürs erstellen :) 

## Teilnehmer:
* Annika
* Franziska
* Frederik
* Hamid
* Kevin
* Konstantin
* Matthias
* Robert

## Gemeinsames Ziel:
**Einen Roundtrip schaffen**:
    1. FE schickt BOneyComb an BE
    2. BE schickt BOneyComb an transformer.bee
    3. kriegt ein mapping (todo: _name, iwas mit seed path?_) zurück
    4. backend kann minimal validieren ("strech goal" 😉)
    5. FE kann die Validierung anzeigen

## Arbeitsgruppen:

### Authentication
_Ziel_ 1/ Konzept: **Wir haben ein service-übergreifendes Konzept, wie wir Berechtigungen vergeben.**
* erarbeitet (vgl Gedanken hier: https://wiki.hochfrequenz.de/index.php/Authentication_in_Hochfrequenz_Services)
* verstanden
* dokumentiert, sodass man es von 0 nachbauen kann
* für transformer und wim.bee
* adaptierbar auf msg.bee 

_Ziel_ 2 Implementierung: **Wir haben die Authentication in beiden Backends und Frontend implementiert.**

### Frontend 1: Editieren von Transaktionen
* POSTed an BE-Endpoint
* hat Auth0 im grundsätzlich Griff (client-seitig)

## Backend 1: ORM-Setup + CRUD API
Ziel: **Wir können Transaktionen persistieren und über die API bereitstellen**:
* boneycombs abspeichern mit SqlAlchemy
* (ggf. user-infos)
* Zugriff über API funktioniert für einzelne Entitäten (keine massenfeatures)
* Die API ist dokumentiert (z.B. mit openapi.yml/swagger)

## Backend 2: Authentication
* Wir haben Auth0 im Backend im Griff und das Konzept implementiert
* Zugriffe mit falschen Credentials laufen auf 401
* Zugriffe ohne Berechtigungen laufen auf 403


## Integration transformer.bee:
Ziel: **wim.bee kann als client mit transformer.bee als server sprechen.**
* Wir haben die Auth server- und clientseitig im Griff
* Die API ist erklärbar und dokumentiert
* Wir haben rudimentäres Error Handling in der API (trafo.bee kann uns sagen, wenn was grundsätzlich falsch läuft)

## Docker und Dev-Setup
Ziel: **Wir können das gesamt-konstrukt aus FE+BE+Trafo auf allen Rechnern starten**
* Docker-Magie
* Frontendler können sich ein Backend hochziehen für tests
* Backendler können sich ein Frontend hochfahren für tests
* alle können alles (inkl. trafo.bee) starten
* das setup läuft auf allen rechnern ohne manuelles appsettings-gefrickel
* es ist dokumentiert

## CI/CD und Test-Umgebungen
* Wir haben eine funktionierende Dev-Umgebung, die sich aus den develop-branches aufbaut (von fe, trafo, be)
* wir haben sinnvolle Berechtigungen in Auth0 vergeben
* wir können demo-instanzen in ~30min aufsetzen (d.h. es ist dokumentiert)
* wir haben mindestens eine Prod-umgebung
* wir wissen wie das funktioniert


## Backend 3: Validierung mit AHBicht und MAUS
* Wir können das was aus der integration mit trafo.bee raus kommt verarbeiten
* Wir können global validieren
* Wir können lokal validieren (einzelne Segmentgruppen/Scopes)

### Frontend 2: Anzeigen der Validierungsergebnisse
* wir können das erebnis von backend3 zurückgeben

## Sprüche des Abends

* Das ganze Leben ist ein Refactoring! by Franzi