Dexo - Ein nativer iOS-Client für Discourse

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.

8 „Gefällt mir“