Flatten repo: move client/ contents to repo root
CI / Type-Check (push) Successful in 16s
CI / Build Android APK (push) Successful in 5m20s

The project is no longer a monorepo/workspace - there is only a single
app package. Remove the redundant client/ nesting: all source, the
Capacitor Android project, config files and package.json/tsconfig now
live directly at the repo root.

- Merge client/package.json into root package.json (drop the
  workspaces field and the now-unnecessary bun --cwd client wrappers).
- Merge client/bun.lock (the actual dependency lockfile) into the
  root, replacing the stale workspace-only root lockfile.
- Move src/, public/, android/, index.html, vite.config.ts,
  capacitor.config.ts, tsconfig.{app,node}.json to the repo root.
- Update Dockerfile.android to build from the repo root instead of
  cd'ing into client/.
- Update .github/workflows/ci.yml type-check step to run bun run build
  directly instead of bun --cwd client run build.
- Update README.md and .github/copilot-instructions.md to drop
  references to the client/ subdirectory.
- Drop the stale server/downloads/ entry from .gitignore (leftover
  from an old server-based architecture that no longer exists).
This commit is contained in:
2026-08-13 21:52:32 +02:00
parent e3e725cf7b
commit 8ef7b9ce8c
88 changed files with 80 additions and 1039 deletions
+16 -17
View File
@@ -28,7 +28,7 @@ Die App läuft komplett nativ auf dem Android-Gerät Suche, Download und Sti
┌───────────────────────────────────────────────┐
│ Android-App (Capacitor + SolidJS) │
│ │
client/src/api.ts → Ravensburger-Suche + │
│ src/api.ts → Ravensburger-Suche + │
│ Download-Orchestrierung │
│ │
│ Native Plugin (Kotlin, TiptoiPlugin.kt): │
@@ -72,7 +72,7 @@ bun run cap:sync
DEV_URL=http://<host-ip>:5173 bun run cap:android
```
`client/capacitor.config.ts` liest `DEV_URL` und lädt die Webview dann direkt vom Dev-Server statt vom gebauten `dist/`-Ordner. Alternativ lässt sich das auch zur Laufzeit über das Dev-Menü in der App umschalten (5x auf den Titel in der Kopfzeile tippen).
`capacitor.config.ts` liest `DEV_URL` und lädt die Webview dann direkt vom Dev-Server statt vom gebauten `dist/`-Ordner. Alternativ lässt sich das auch zur Laufzeit über das Dev-Menü in der App umschalten (5x auf den Titel in der Kopfzeile tippen).
---
@@ -91,7 +91,7 @@ Baut die APK reproduzierbar in einem Container (Bun + Android SDK + Gradle, sieh
```bash
bun run build # Web-Assets bauen
bun run cap:sync # Assets ins Android-Projekt synchronisieren
cd client/android
cd android
./gradlew assembleDebug
```
@@ -107,20 +107,19 @@ Ein Workflow unter [`.github/workflows/ci.yml`](.github/workflows/ci.yml) führt
```
tiptoi-sync/
├── client/ # SolidJS + Capacitor App
│ ├── src/
│ ├── api.ts # Ravensburger-Suche, Download-/Sync-Orchestrierung
│ ├── native/ # TS-Interfaces für native Capacitor-Plugins
│ │ ├── pages/
│ │ │ ├── ScanPage.tsx # Barcode-Scanner + Suche
│ │ └── DownloadsPage.tsx # Bibliothek + Stift-Sync
│ │ └── components/
│ └── android/ # Capacitor Android-Projekt (im Repo eingecheckt)
── app/src/main/java/com/tiptoisync/app/
├── TiptoiPlugin.kt # Stift-Zugriff (SAF), Download, Bibliothek
│ └── DevPlugin.kt # Live-Reload gegen Vite Dev-Server
├── Dockerfile.android # Container-Build für die APK
├── build-apk.sh # Wrapper um Dockerfile.android (Podman/Docker)
├── src/
│ ├── api.ts # Ravensburger-Suche, Download-/Sync-Orchestrierung
│ ├── native/ # TS-Interfaces für native Capacitor-Plugins
│ ├── pages/
│ │ ├── ScanPage.tsx # Barcode-Scanner + Suche
│ │ └── DownloadsPage.tsx # Bibliothek + Stift-Sync
└── components/
├── android/ # Capacitor Android-Projekt (im Repo eingecheckt)
│ └── app/src/main/java/com/tiptoisync/app/
── TiptoiPlugin.kt # Stift-Zugriff (SAF), Download, Bibliothek
└── DevPlugin.kt # Live-Reload gegen Vite Dev-Server
├── Dockerfile.android # Container-Build für die APK
├── build-apk.sh # Wrapper um Dockerfile.android (Podman/Docker)
└── .github/
├── workflows/ci.yml # Type-Check + APK-Build
└── copilot-instructions.md # Architektur- und Konventions-Details