Update README

This commit is contained in:
Philipp Lang 2023-09-07 14:35:29 +02:00
parent 80dfebf63b
commit c554e506ea
1 changed files with 78 additions and 47 deletions

125
README.md
View File

@ -1,6 +1,6 @@
# Adrema
__Schön, dass du den Weg hierhin gefunden hast!__
**Schön, dass du den Weg hierhin gefunden hast!**
Da du diese Seite besuchst, gehörst du sicherlich zu den Leuten, die möglichst einfach die Daten ihrer Mitglieder pfelgen wollen. Das ist offiziell in der DPSG nur mit NaMi möglich.
@ -12,78 +12,109 @@ AdReMa kann von jedem und jeder genutzt werden, die einen NaMi-Account besitzt u
## Was kann ich mit AdReMa machen?
* Basisdaten von Mitgliedern anzeigen und bearbeiten
* Einfacher Filter nach Gruppierung, Tätigkeit, etc
* Detailansichten mit allen zugehörigen Daten
* Führungszeugnisse und Präventionssulungen nachhalten
* Beitragszahlungen eintragen
* Automatisches Rechunungssystem
* Eigene Beiträge hinterlegen (z.B. interner Stammes-Jahresbeitrag)
* Generieren von Zuschusslisten (aktuell RdP NRW)
* Einpflegen von internen Tätigkeiten, die nicht in NaMi vorhanden sind (um z.B. stammes-interne AGs / AKs zu verwalten)
* Automatisches Erstellen und managen von E-Mail-Verteilern mittels Mailman 3.0
* eFz-Bescheinigung abrufen für alle Leitenden (das kann normalerweise nur jede*r einzelne für sich selbst)
* Ausbildungen eintragen (WBK-Bausteine)
* Abrufen von Kontakten ins eigene Telefonbuch (mittels CardDAV)
- Basisdaten von Mitgliedern anzeigen und bearbeiten
- Einfacher Filter nach Gruppierung, Tätigkeit, etc
- Detailansichten mit allen zugehörigen Daten
- Führungszeugnisse und Präventionssulungen nachhalten
- Beitragszahlungen eintragen
- Automatische Rechunungserstellung
- Eigenen Beitragssatz hinterlegen (z.B. interner Stammes-Jahresbeitrag)
- Generieren von Zuschusslisten (aktuell RdP NRW)
- Einpflegen von internen Tätigkeiten, die nicht in NaMi vorhanden sind (um z.B. stammes-interne AGs / AKs zu verwalten)
- Automatisches Erstellen und Managen von E-Mail-Verteilern mittels Mailman 3.0
- eFz-Bescheinigung abrufen für alle Leitenden (das kann in NaMi nur jede\*r für sich selbst)
- Ausbildungen eintragen (WBK-Bausteine)
- Abrufen von Kontakten ins eigene Telefonbuch (mittels CardDAV)
Ziel dieses Projektes ist es, viele Dinge, die man normalerweise manuell zu tun hat so gut es geht zu automatisieren oder zumindest zu vereinfachen. So kann man sich als Leitende*r / Vorstand auf die wichtigeren Dinge konzentrieren wie Gruppenstunden, Lager, Leiterrunden, etc.
Ziel dieses Projektes ist es, viele Dinge, die man normalerweise manuell zu tun hat so gut es geht zu automatisieren oder zumindest zu vereinfachen. So kann man sich als Leitende\*r / Vorstand auf die wichtigeren Dinge konzentrieren wie Gruppenstunden, Lager, Leiterrunden, etc.
Außerdem ist AdReMa auch problemlos auf Handys und Tablets bedienbar ("mobiles Design")
# Installation
## Installation des Produktivsystems
## App Key generieren
1. Herunterladen der Beispiel Docker-Compose
Kopiere .app.env.example nach .app.env
```cmd
curl https://git.zoomyboy.de/silva/adrema/raw/branch/master/docker-compose.prod.yml -o docker-compose.yml
```
```
cp .app.env.example .app.env
```
2. Herunterladen der Beispiel Environmentvariablen-Datei
Services starten:
```cmd
curl https://git.zoomyboy.de/silva/adrema/raw/branch/master/.app.env.example -o .app.env
```
```
docker compose up
```
3. In der `.app.env` notwendige Einstellungen vornehmen:
Es wird die ein App Key generiert: ``Keinen APP KEY gefunden. Key wird generiert: base64:..........``
- `APP_URL`: Hier sollte die URL (mit HTTPS) stehen, unter der Adrema erreichbar sein soll (z.B. `https://adrema.stamm-bipi.de`)
- Mail-Server Einstellungen `MAIL_PORT`, `MAIL_HOST`, `MAIL_USERNAME`, `MAIL_PASSWORD` und `MAIL_ENCRYPTION` anpassen
- `MAIL_FROM_NAME`: Der Name, der als Absender von E-Mails gesetzt wird (z.B. `Stamm Bipi Service`)
- `MAIL_FROM_ADDRESS`: Die dazu gehörige E-Mail-Adresse, die natürlich für antworten erreichbar sein sollte (z.B. `vorstand@stamm-bipi.de`)
- `DB_PASSWORD` und `MYSQL_PASSWORD`: Mit dem selben sicheren Passwort für die Datenbank versehen
- `USER_EMAIL` und `USER_PASSWORD`: Einstellen des standard Adrema Logins
Kopiere diesen App key und setze in in .app.env als APP_KEY ein (APP_KEY=base64:........).
4. Container zur Gennerierung des App-Key starten
## Einstellungen
```cmd
docker compose up php
```
Passe in der .app.env dann folgende Einstellungen an:
Nach einiger zeit wird ein App-Key generiert:
### APP_URL
```cmd
Keinen APP KEY gefunden. Key wird generiert: base64:xxx
```
Hier sollte die URL (mit HTTPS) stehen, unter der Adrema erreichbar sein soll (z.B. https://adrema.stamm-bipi.de)
Container herunterfahren und entfernen
### Mail
```cmd
docker compose down
```
Setze nun die Einstellungen für den Mail-Versand ein. Du solltest mindestens MAIL_PORT, MAIL_HOST, MAIL_USERNAME, MAIL_PASSWORD und MAIL_ENCRYPTION setzen.
5. Der generierte App-Key muss als Environmentvariable (`APP_KEY`) mit in den Docker-Container gegeben werden. Kopiere den App-Key in die Datei `.app.env`
MAIL_FROM_NAME ist der Name, der als Absender von E-Mails gesetzt wird. z.B. "Stamm Bipi Service".
```env
APP_KEY=base64:xxx
```
MAIL_FROM_ADDRESS die dazu gehörige E-Mail-Adresse, die natürlich erreichbar sein sollte (z.B. "vorstand@stamm-bipi.de").
6. Alle Container starten
### DB Passwort
```cmd
docker compose up -d
```
Setze die beiden letzten Variablen (da wo "secret_db_password" steht) auf ein generiertes sicheres Passwort. Bei beiden Variablen muss der gleiche Wert eingestellt werden (also so wie vorher, nur sicherer :D )
7. Nach kurzer Zeit ist AdReMa über <http://localhost:8000> erreichbar und es kann sich mit dem zuvor festgelegten Login eingeloggt werden
## Starten
## Nutzen des Entwicklungssystmes
Führe nun den DB Container aus, um eine erste Version der Datenbank zu erstellen.
1. Klonen des Reposetories
```
docker-compose up db -d
```
```cmd
git clone https://git.zoomyboy.de/silva/adrema.git
```
Nun kannst du auf localhost:8000 die App öffnen, einen LB verwenden, den Port mit CLI Optionen ändern, etc.
2. Kopieren der Beispiel Docker-Compose für das Entwickeln und nach Wünschen anpassen
## Standard Login
```cmd
cp docker-compose.dev.yml docker-compose.yml
```
Beim ersten Starten wird ein Benutzer mit folgenden Zugangsdaten erstellt:
3. Kopieren der Beispiel Environmentvariablen-Datei
* E-Mail-Adresse: admin@example.com
* Passwort: admin
```cmd
cp .app.env.example .app.env
```
4. Submodule aktuallisieren
```cmd
git submodule update --init
```
5. Container erstellen
```cmd
docker compose build
```
6. Mit Schritt 3 und den folgenden der [Installation des Produktivsystems](#installation-des-produktivsystems) fortfahren