74d38fd267
Ersetzt das Flutter-Boilerplate-README durch Funktionsübersicht, Build-Anleitung und Projektstruktur.
57 lines
2.2 KiB
Markdown
57 lines
2.2 KiB
Markdown
# Pyramid
|
||
|
||
Pyramid ist ein eigenständiger Matrix-Client (Flutter), kein Fork von FluffyChat
|
||
oder Element. Er läuft gegen den selbst gehosteten Homeserver `steggi-matrix.work`
|
||
(Continuwuity) und ist bei echten Nutzern im Einsatz – Stabilität und
|
||
Datensicherheit haben Vorrang vor Feature-Tempo.
|
||
|
||
## Funktionsumfang
|
||
|
||
- Matrix-Chat mit Timeline, Reply, Medien, Link-Vorschauen, lokaler Volltextsuche
|
||
über entschlüsselte Nachrichten (server-seitige Suche funktioniert bei E2EE nicht)
|
||
- Ende-zu-Ende-Verschlüsselung (vodozemac/Olm/Megolm) inkl. Key-Backup
|
||
- Sprach-/Video-Calls und Bildschirmübertragung über LiveKit
|
||
(`wss://livekit.steggi-matrix.work`)
|
||
- Push-Benachrichtigungen mit clientseitiger Entschlüsselung auch bei gekillter
|
||
App (FCM + Sygnal, siehe `docs/NOTIFICATIONS.md`)
|
||
- Größenverstellbares Panel-Layout (Rooms/Chat/Members) statt starrer Tabs
|
||
|
||
## Build
|
||
|
||
Voraussetzung: Flutter (stable channel, siehe `environment.sdk` in `pubspec.yaml`
|
||
für die unterstützte Dart-Version).
|
||
|
||
```
|
||
flutter pub get
|
||
flutter run -d windows # schnellster Praxistest während der Entwicklung
|
||
flutter analyze # muss sauber bleiben
|
||
```
|
||
|
||
Unterstützte Zielplattformen: Android, Windows, Linux, iOS, macOS (Ordner
|
||
`android/`, `windows/`, `linux/`, `ios/`, `macos/` sind Standard-Flutter-Projekte).
|
||
Release-Build (signiert, Windows + Android): `scripts/release.ps1`.
|
||
|
||
## Projektstruktur
|
||
|
||
```
|
||
lib/
|
||
core/ Matrix-Client, Auth, VoIP-Manager, Storage, App-State
|
||
features/
|
||
auth/ Login, Server-Auswahl
|
||
rooms/ Raumliste, Spaces
|
||
chat/ Timeline, Composer, Medien, Dokumentenvorschau
|
||
call/ LiveKit-Calls, Voice-Channel, Mini-Call-Widget
|
||
members/ Mitgliederliste/-panel
|
||
settings/ Einstellungen
|
||
layout/ Panel-Layout (resizable)
|
||
widgets/ geteilte UI-Bausteine
|
||
utils/ Hilfsfunktionen
|
||
```
|
||
|
||
## Weiterführende Dokumentation
|
||
|
||
- `CLAUDE.md` – Arbeitsregeln und Infrastruktur für die Zusammenarbeit mit Claude
|
||
- `ROADMAP.md` / `PROGRESS.md` – aktueller Stand und nächste Schritte
|
||
- `docs/NOTIFICATIONS.md` – Push-Architektur (native Anzeige vs. Hintergrund-Entschlüsselung)
|
||
- `docs/matrix-sdk/` – Hinweise zum verwendeten Matrix-SDK
|