Dexo - Um cliente nativo para iOS para Discourse

Olá a todos!

Gostaria de compartilhar o Dexo, um cliente nativo para iOS para fóruns Discourse que tenho desenvolvido usando UIKit e Swift.

Capturas de Tela

Recursos

  • Gerenciamento Multi-Fórum — Adicione, alterne e remova múltiplas instâncias do Discourse em um único aplicativo
  • Navegação de Tópicos — Listas de tópicos Mais Recentes e Principais com rolagem infinita
  • Categorias e Tags — Navegue por tópicos por categoria ou tag
  • Detalhe do Tópico — Renderização completa do conteúdo HTML com visualizador de imagens, blocos de código com realce de sintaxe e seções recolhíveis
  • Responder — Responda a tópicos ou a uma postagem específica
  • Autenticação Segura — Utiliza o fluxo de Chave de API de Usuário do Discourse com criptografia RSA; as credenciais são armazenadas no iOS Keychain
  • Aparência — Modo Sistema / Claro / Escuro

Planejado

  • Notificações e mensagens privadas
  • Criação de tópicos

Pilha Tecnológica

Componente Detalhe
Linguagem Swift 5
Estrutura de UI UIKit
Alvo Mínimo iOS 17.0
Arquitetura MVVM + @Observable
Banco de Dados SQLite (GRDB)
Rede Alamofire
Carregamento de Imagem SDWebImage

Como a Autenticação Funciona

O Dexo segue a especificação Chave de API de Usuário do Discourse. Ele gera um par de chaves RSA no dispositivo, envia a chave pública para sua instância do Discourse para autorização e armazena a chave de API resultante de forma segura no iOS Keychain. Nenhuma senha é armazenada no dispositivo.

TestFlight

Código Fonte

O projeto é totalmente de código aberto:

Construir a Partir do Código Fonte

Requer Xcode 16+ e mise:

make setup    # Instala as ferramentas, busca dependências, gera o projeto Xcode

Em seguida, abra dexo.xcodeproj, selecione sua equipe de desenvolvimento e execute.

Feedback

Isto ainda está em andamento.
Eu adoraria ouvir seu feedback, solicitações de recursos ou relatórios de bugs.
sinta-se à vontade para responder aqui ou abrir uma issue no GitHub.

8 curtidas