Hallo zusammen!
Ich möchte Dexo vorstellen, einen nativen iOS-Client für Discourse-Foren, den ich mit UIKit und Swift entwickle.
Screenshots
Funktionen
- Verwaltung mehrerer Foren — Mehrere Discourse-Instanzen in einer App hinzufügen, zwischen ihnen wechseln und sie entfernen
- Themen-Browsing — Neueste und beste Themenlisten mit unendlichem Scrollen
- Kategorien & Tags — Themen nach Kategorie oder Tag durchsuchen
- Detailansicht eines Themas — Vollständiges Rendern des HTML-Inhalts mit Bildbetrachter, syntaxhervorgehobenen Codeblöcken und einklappbaren Abschnitten
- Antworten — Auf Themen oder auf einen bestimmten Beitrag antworten
- Sichere Authentifizierung — Verwendet den Discourse User API Key-Flow mit RSA-Verschlüsselung; Anmeldedaten werden im iOS Keychain gespeichert
- Erscheinungsbild — System-/Hell-/Dunkelmodus
Geplant
- Benachrichtigungen & private Nachrichten
- Themenerstellung
Tech Stack
| Komponente | Detail |
|---|---|
| Sprache | Swift 5 |
| UI Framework | UIKit |
| Mindestziel | iOS 17.0 |
| Architektur | MVVM + @Observable |
| Datenbank | SQLite (GRDB) |
| Networking | Alamofire |
| Bildladen | SDWebImage |
Wie die Authentifizierung funktioniert
Dexo folgt der Spezifikation Discourse User API Key. Es generiert ein RSA-Schlüsselpaar auf dem Gerät, sendet den öffentlichen Schlüssel zur Autorisierung an Ihre Discourse-Instanz und speichert den resultierenden API-Schlüssel sicher im iOS Keychain. Es werden keine Passwörter auf dem Gerät gespeichert.
TestFlight
Quellcode
Das Projekt ist vollständig Open Source:
Aus der Quelle erstellen
Erfordert Xcode 16+ und mise:
make setup # Tools installieren, Abhängigkeiten abrufen, Xcode-Projekt generieren
Anschließend dexo.xcodeproj öffnen, Ihr Entwicklungsteam auswählen und ausführen.
Feedback
Dies ist noch in Arbeit.
Ich würde mich freuen, Ihr Feedback, Ihre Funktionswünsche oder Fehlerberichte zu hören.
Sie können hier antworten oder ein Issue auf GitHub erstellen.


