# member-administration-ui

Mitgliederverwaltung für Feuerwehren und Vereine.

## Einleitung

Dieses Repository dient zur Verwaltung der Mitgliederdaten. Es ist ein Frontend-Client, der auf die Daten des [member-administration-server Backends](https://forgejo.jk-effects.cloud/Ehrenamt/member-administration-server) zugreift. Die Webapp bietet eine Möglichkeit Mitgliederdaten zu verwalten, Protokolle zu schreiben und Kaledereinträge zu erstellen. Benutzer können eingeladen und Rollen zugewiesen werden.

Eine Demo dieser Seite finden Sie unter [https://ff-admin-demo.jk-effects.cloud](https://ff-admin-demo.jk-effects.cloud).

Für die Verwendung muss ein TOTP-Code eingegeben werden.

Die Zugangsdaten (Lesebeschränkt) sind:\
EMAIL: demo-besucher\
TOTP: ![alt text](demo-totp-qrcode.png)\
TOTP-Code: FBMDAJKFOYQXM2DNH47GWWBGJ5KWOUCW

## Installation

### Docker Compose Setup

Um den Container hochzufahren, erstellen Sie eine `docker-compose.yml` Datei mit folgendem Inhalt:

```yaml
version: "3"

services:
  ff-member-administration-app:
    image: docker.registry.jk-effects.cloud/ehrenamt/member-administration/app:latest
    container_name: ff_member_administration_ui
    restart: unless-stopped

    #environment:
    #  - SERVER_ADRESS=<backend_host> # wichtig: ohne https:// bzw http://
    #volumes:
    #  - <volume|local path>/myfavicon.png:/app/public/favicon.png
    #  - <volume|local path>/mylogo.png:/app/public/logo.png
```

Wenn keine Server-Adresse angegeben wird, wird versucht das Backend unter der URL des Frontends zu erreichen. Dazu muss das Backend auf der gleichen URL wie das Frontend laufen. Zur Unterscheidung von Frontend und Backend bei gleicher URL müssen alle Anfragen mit dem PathPrefix `/api` an das Backend weitergeleitet werden.

Führen Sie dann den folgenden Befehl im Verzeichnis der compose-Datei aus, um den Container zu starten:

```sh
docker-compose up -d
```

### Manuelle Installation

Klonen Sie dieses Repository und installieren Sie die Abhängigkeiten:

```sh
git clone https://forgejo.jk-effects.cloud/Ehrenamt/member-administration-ui.git
cd member-administration-ui
npm install
npm run build
npm run start
```

### Konfiguration

Ein eigenes favicon und Logo kann über ein volume ausgetauscht werden.

## Einrichtung

1. **Admin Benutzer erstellen**: Erstellen Sie einen Admin Benutzer unter dem Pfad [/setup](https://ff-admin-demo.jk-effects.cloud/setup), um auf die Migliederverwaltung Zugriff zu erhalten. Nach der Erstellung des ersten Benutzers wird der Pfad automatisch geblockt.

2. **Rollen und Berechtigungen**: Unter `Benutzer > Rollen` können die Rollen und Berechtigungen für die Benutzer erstellt und angepasst werden.

3. **Nutzer einladen**: Unter `Benutzer > Benutzer` können weitere Nutzer eingeladen werden. Diese erhalten dann eine E-Mail mit einem Link, um ein TOTP zu erhalten.

## Fragen und Wünsche

Bei Fragen, Anregungen oder Wünschen können Sie sich gerne melden.\
Wir freuen uns über Ihr Feedback und helfen Ihnen gerne weiter.\
Schreiben Sie dafür eine Mail an julian.krauser@jk-effects.com.
