51 lines
1.0 KiB
Markdown
51 lines
1.0 KiB
Markdown
|
|
# exercise-cards-app
|
|||
|
|
|
|||
|
|
Webapp (zweiter Container), die auf die lokale Postgres-DB im ersten Container zugreift und Übungskarten formatiert rendert.
|
|||
|
|
|
|||
|
|
## Datenstruktur
|
|||
|
|
|
|||
|
|
In Tabelle `exercise_cards.output` (JSONB), inkl. Bildslots:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"oberkapitel": false,
|
|||
|
|
"titel": "Rückenwelle",
|
|||
|
|
"Dauer": "1–3 Minuten",
|
|||
|
|
"kurzbeschreibung": "...",
|
|||
|
|
"Tip": "...",
|
|||
|
|
"langtext": false,
|
|||
|
|
"inhalt": "...",
|
|||
|
|
"images": {
|
|||
|
|
"main": null,
|
|||
|
|
"detail": null
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Features
|
|||
|
|
|
|||
|
|
- Ausgabe im Kartenlayout (A4/Print-kompatibel)
|
|||
|
|
- Klick auf Text öffnet Modal zum Editieren
|
|||
|
|
- Klick auf Bild-Platzhalter öffnet Upload (main/detail)
|
|||
|
|
- Persistenz in Postgres
|
|||
|
|
|
|||
|
|
## Start (lokal)
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
npm install
|
|||
|
|
npm start
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Docker
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
docker build -t registry.aquantico.lan/exercise-cards-app:latest .
|
|||
|
|
docker run --rm -p 8097:8097 \
|
|||
|
|
-e DB_HOST=host.containers.internal \
|
|||
|
|
-e DB_PORT=5433 \
|
|||
|
|
-e DB_NAME=openclaw \
|
|||
|
|
-e DB_USER=openclaw \
|
|||
|
|
-e DB_PASSWORD='3P7m!dQ9vL2xR8kN' \
|
|||
|
|
registry.aquantico.lan/exercise-cards-app:latest
|
|||
|
|
```
|