diff --git a/README.md b/README.md index 778fabe..8ed08a1 100644 --- a/README.md +++ b/README.md @@ -5,33 +5,24 @@ events (KCs), replacing the WordPress plugin "Workshop-Wahlen". See [plan-kcAppMultiTenantPlatform.prompt.md](plan-kcAppMultiTenantPlatform.prompt.md) for the full architecture and phased roadmap. +This repo holds the **Flutter clients**. The backend (NestJS API) moved to +its own repo: . + ## Run with Docker +See the [KC-APP-Server README](https://git.konfi-castle.com/linus/KC-APP-Server) +for the backend/Docker setup. It expects a pre-built web bundle: + ```bash -cp backend/.env.example backend/.env # fill in the secrets -# optional (push): put the Firebase service account at backend/serviceAccount.json -(cd client/app && flutter build web --release) # host build — see note below -docker compose up --build +(cd client/app && flutter build web --release) ``` -`docker-compose.yml` starts PostgreSQL 16 and one `api` container (2-stage -`Dockerfile`: NestJS build → slim runtime). The container runs -`prisma migrate deploy` on start and serves the whole app — Flutter web -client + REST API — on . Requires Docker Compose v2. - -The Flutter web bundle is built **on the host** and copied in (a Flutter -builder stage would pull a ~2.8 GB SDK image). So `flutter build web` must -run before `docker compose build`. Secrets come from `backend/.env` -(unquoted, Compose v2 strips quotes) and the service-account JSON is -bind-mounted read-only — neither is baked into the image. +By default the server's `docker-compose.yml` mounts `../KC-APP/client/app/build/web` +(sibling checkout); override with `WEB_CLIENT_BUILD_PATH` if your layout +differs. ## Structure -- `backend/` — NestJS API (Prisma/PostgreSQL, Authentik OIDC as resource - server, guest/Konfi local accounts, roles/permissions foundation, file - sharing, chat, local/cloud sync). See [backend/README.md](backend/README.md) - for setup. Also serves the web client (see below) directly, so it's the - single entry point for the web experience. - `client/app/` — the Flutter client (single codebase; **web** target enabled, mobile/desktop can be added later). Login (guest / local Teamer / invite redemption), role-aware home, guest Workshop-Wahl, file list,