Dexo - Un client nativo per iOS per Discourse

Ciao a tutti!

Vorrei condividere Dexo, un client nativo per iOS per i forum Discourse che ho sviluppato con UIKit e Swift.

Screenshot

Funzionalità

  • Gestione Multi-Forum — Aggiungi, passa tra e rimuovi istanze Discourse multiple in un’unica app
  • Navigazione Argomenti — Liste di argomenti Recenti e Migliori con scorrimento infinito
  • Categorie e Tag — Sfoglia argomenti per categoria o tag
  • Dettaglio Argomento — Rendering completo del contenuto HTML con visualizzatore di immagini, blocchi di codice con evidenziazione della sintassi e sezioni comprimibili
  • Rispondi — Rispondi agli argomenti o a un post specifico
  • Autenticazione Sicura — Utilizza il flusso Chiave API Utente di Discourse con crittografia RSA; le credenziali sono memorizzate nel Portachiavi di iOS
  • Aspetto — Modalità Sistema / Chiaro / Scuro

In programma

  • Notifiche e messaggi privati
  • Creazione di argomenti

Stack Tecnologico

Componente Dettaglio
Linguaggio Swift 5
Framework UI UIKit
Target Minimo iOS 17.0
Architettura MVVM + @Observable
Database SQLite (GRDB)
Networking Alamofire
Caricamento Immagini SDWebImage

Come Funziona l’Autenticazione

Dexo segue la specifica Chiave API Utente di Discourse. Genera una coppia di chiavi RSA sul dispositivo, invia la chiave pubblica alla tua istanza Discourse per l’autorizzazione e memorizza la chiave API risultante in modo sicuro nel Portachiavi di iOS. Nessuna password viene memorizzata sul dispositivo.

TestFlight

Codice Sorgente

Il progetto è completamente open source:

Compilazione dal Sorgente

Richiede Xcode 16+ e mise:

make setup    # Installa gli strumenti, recupera le dipendenze, genera il progetto Xcode

Quindi apri dexo.xcodeproj, seleziona il tuo team di sviluppo ed esegui.

Feedback

Questo è ancora un lavoro in corso.
Mi piacerebbe ricevere il vostro feedback, richieste di funzionalità o segnalazioni di bug.
sentitevi liberi di rispondere qui o aprire una issue su GitHub.

8 Mi Piace