오래 전부터 준비해 온 프로젝트를 공유하게 되어 정말 설레는 마음으로 글을 씁니다. DisHub은 디스커스 포럼을 위해 특별히 설계된 새로운 모바일 앱입니다.
여러분과 마찬가지로 저도 디스커스를 정말 좋아하지만, 공식 모바일 앱은 다소 제한적이라는 느낌을 항상 받았습니다. 대부분 웹 래퍼에 불과하고, 진정한 네이티브 기능의 활용도는 매우 낮았거든요. 또한 Fig 프로젝트도 현재 이용 불가능한 상태이며, 안드로이드에만 제공되고 있었습니다.
그래서 저는 Flutter를 사용하여 DisHub를 처음부터 직접 개발하기로 결정했습니다. 제 목표는 단순했습니다:
디스커스 포럼에 네이티브 성능과 부드러운 애니메이션을 제공하기
기기의 기능을 활용하여 실제 푸시 알림을 제공하기
여러 포럼을 하나의 앱에서 쉽게 관리할 수 있도록 만들기
이동 중에도 실제로 유용하게 사용할 수 있는 모더레이터 및 관리자 도구를 추가하기
모바일에서 편안하게 느껴지는 아름답고 깔끔하며 단순한 UI를 제공하기
주요 기능:
하나의 앱에서 모든 디스커스 포럼 관리
초고속 네이티브 내비게이션 및 애니메이션
사용자 지정 가능한 모바일 알림
관리자 및 모더레이터 작업 (신고, 삭제, 편집, 차단 등)
다크 및 라이트 테마
회원, 모더레이터, 관리자를 위한 설계
이 앱은 완전히 Flutter로 개발되었으며, 지금까지 Flutter 및 디스커스 커뮤니티로부터 받은 모든 피드백과 테스트에 감사드립니다. 여러분의 소중한 의견 덕분에 이 프로젝트가 제가 자부심을 가질 수 있는 결과물로 성장할 수 있었습니다.
관심 있는 분들이라면, 특히 디스커스 커뮤니티를 운영하거나 참여하고 계신 분이라면 직접 사용해 보시길 바랍니다. 피드백, 제안, 질문 모두 환영합니다!
로그인을 넘어갈 수 있었고, "새로운 커뮤니티 추가"를 제안했습니다. 하지만 동시에 커뮤니티 목록이 표시되고 있었습니다. 가입하고 싶었던 커뮤니티가 목록에 없었기 때문에 "추가"를 시도해 보았지만, 오류가 발생했습니다.
그제서야 이 앱이 내 자신의 Discourse 커뮤니티에 로그인하라는 것이 아니라, 이 앱 자체에 계정을 만들라는 것임을 알게 되었습니다. 다른 Discourse 앱의 유용한 점 중 하나는 내 계정을 소유하려 하지 않는다는 것이었습니다. 단순히 Discourse 웹사이트에 로그인 정보를 제공하기만 하면 될 뿐이었죠.
계정을 생성한 후에는 커뮤니티를 목록에 추가할 수 있었습니다. iPhone 13에서는 커뮤니티 이름을 입력할 수 있는 필드를 볼 수 없었습니다. 키보드에 가려 있었기 때문입니다.
이러한 장벽을 넘은 후에는 커뮤니티에 로그인할 수 있었고, 꽤 잘 작동했습니다. 저는 항상 Discourse 웹사이트가 모바일 모드에서 꽤 잘 작동한다고 생각했는데, 점점 더 좋아지고 있는 것 같습니다.
조금 사용해보니 Supabase에서 가입 확인을 요청하는 이메일이 도착했습니다. Supabase에 대해 전혀 알지 못했기 때문에 해당 이메일을 스팸으로 표시하고 삭제했습니다.
이 앱은 discourse 인스턴스와 어떻게 인증을 처리하나요? API 기반으로 작동하는 건가요, 아니면 해당 사이트의 웹 뷰를 여는 건가요? 자격 증명을 저장하는 건가요, 아니면 discourse의 네이티브 인증을 사용하는 건가요? 사용자 보안 측면에서 이를 이해하는 것이 매우 중요합니다.