YPChat Android
Native Android-App fuer den bestehenden YPChat-Server.
Stack
- Kotlin
- Jetpack Compose
- Retrofit/OkHttp fuer REST
- Socket.IO Android Client fuer den Chat
- persistente OkHttp
CookieJar, damit REST und Socket dieselbeconnect.sid-Session nutzen
Projekt Oeffnen
Den Ordner android/ in Android Studio oeffnen. Das Projekt ist auf Android Gradle Plugin 8.13.2, Gradle 8.13, JDK 17 und compileSdk = 36 ausgelegt.
Falls Android Studio keinen Gradle Wrapper erzeugt, kann er in diesem Ordner mit einer lokalen Gradle-Installation nachgezogen werden:
gradle wrapper --gradle-version 8.13
Danach:
.\gradlew.bat :app:assembleDebug
Backend-URLs
Debug und Release verwenden standardmaessig:
https://www.ypchat.net
Fuer lokale Tests kann die URL in android/local.properties ueberschrieben werden:
ypchat.baseUrl=http://10.0.2.2:3300
10.0.2.2 zeigt im Android Emulator auf den lokalen Rechner. Auf einem echten Geraet muss stattdessen die LAN-IP des Rechners oder ein Dev-Tunnel verwendet werden, z.B.:
ypchat.baseUrl=http://192.168.178.42:3300
Implementierte Funktionen
GET /api/session- Socket.IO Connect mit WebSocket zuerst und Polling-Fallback
setSessionIdloginuserListrequestConversation- Textnachrichten ueber
message requestOpenConversationsrequestHistoryuserSearchblockUserPOST /api/logout- Laenderliste im Login ueber
/api/countries - Android Photo Picker und Kameraaufnahme
- Bildupload ueber
/api/upload-imagemit 5-MB-Grenze - lokale Logout-Markierung: Nach einem expliziten Logout wird eine noch vorhandene Server-Session nicht automatisch wiederhergestellt
- Socket.IO-Reconnect mit erneutem Setzen der Express-Session; beim Zurueckkehren in die App wird eine fehlende Verbindung erneut aufgebaut
- Videochat mit Kamera- und Mikrofonfreigabe
- Feedback, Partner, FAQ, Regeln, Sicherheit, Datenschutz und Impressum
Build-Status
Der Debug- und der minifizierte Release-Build werden erfolgreich erzeugt:
./gradlew :app:assembleDebug
./gradlew :app:assembleRelease
Release-Abnahme vor Google Play
Die folgenden Punkte sind keine fehlenden App-Funktionen, sondern muessen vor dem Veroeffentlichen mit realen Konten und Geraeten abgenommen werden:
- Login, Chat, Bildversand, Blockieren und Logout auf mindestens zwei echten Android-Geraeten pruefen.
- Die App waehrend eines Chats in den Hintergrund legen, wieder oeffnen und den Socket-Reconnect pruefen.
- Einen Videoanruf zwischen zwei echten Geraeten inklusive Kamera-, Mikrofon- und Berechtigungsdialog pruefen.
- Die Angaben in
DATA_SAFETY_DRAFT.mdmit dem tatsaechlichen Server-/Loeschprozess abgleichen und die Datenschutzerklaerung in der Play Console hinterlegen. - Store-Name, Kategorie und die vorhandenen Store-Grafiken final pruefen; die Texte und Checklisten liegen in den weiteren Dateien dieses Ordners.