TSBOARD v1.0.5 업데이트 안내!
1 0 169 2025-05-06
안녕하세요! TSBOARD를 개발하고 있는 시리니입니다.
TSBOARD 기반으로 만들어진 커뮤니티를 위한 안드로이드 전용 앱, SENSTA의 공개가 이제 코 앞으로 다가왔습니다.
Kotlin 언어와 함께한 시간들을 마무리하면서, 앱에서 필요했던 기능들과 앱에 이미 구현된 기능들을 이번 업데이트에서
아래와 같이 반영해 보았습니다.
[Backend - GOAPI]
안드로이드 네이티브 앱
SENSTA와의 원할한 연동을 위해 아래 사항들이 반영되었습니다.id_token값을 받으면 구글 OAuth2 API로 인증 후 사용자 정보를 JSON 형태로 바로 반환하도록 추가하였습니다.채팅 메시지를 저장할 때 가끔 처리되지 않던
nil pointer exception문제를 수정하였습니다.앱에서 사용자 정보를 요청할 때 사용자 고유 번호를 생략하던 문제를 수정하였습니다.
삭제 처리된 댓글은 댓글 개수에 반영하지 않도록 수정하였습니다.
채팅 메시지를 받으면 중복 여부를 검사하지 않고, 매번 새 알림이 되도록 변경하였습니다.
최근 사용된 해시태그 목록을 조회하는 기능을 추가하였습니다.
작성자명, 분류명 검색 시 부분 문자열로 검색해도 되도록 개선하였습니다.
첨부 이미지에 대해서 AI가 설명한 내용으로 게시글을 검색하는 기능을 추가하였습니다.
갤러리 게시판 좌측 하단의 검색에서도 이제 이미지 항목으로 검색이 가능합니다.
홈화면 상단 전체 검색에서도 이미지로 검색이 가능합니다.
[Frontend - TSBOARD]
홈 화면에서 현재 로그인 상태일 경우 액세스 토큰을 갱신합니다.
구글 및 외부 CDN으로 사용하던 폰트들을 서버에서 직접 제공하는 방식으로 변경하였습니다.
모든 폰트는 압축된
woff2형식으로 제공됩니다.Cal Sans, 0xProtoNerdFontMono, Pretendard 3종이 제공됩니다.
백엔드 변경사항에 맞춰 UI 부분도 개선 하였습니다.
사용중인 라이브러리들을 본 배포 시점에서 최신 버전으로 모두 업데이트 하였습니다.
npm install실행이 필요합니다!
[Android - SENSTA]
안드로이드 네이티브 앱으로 곧 구글 플레이 스토어에 출시 예정인
SENSTA는 아래와 같은 특징을 가지고 있습니다.TSBOARD v1.0.5 이상으로 만들어진 사이트와 연동됩니다.
TSBOARD에서 만들어진 (갤러리) 게시판 하나를 앱에서 접근합니다. (일종의 커뮤니티 전용 인스타그램인 셈입니다)
SENSTA 앱을 여러분이 운영하시는 커뮤니티 사이트에 맞게 일부분 수정이 필요합니다.
data/src/main/java/me/data/env/Env.kt파일을 열어서 아래 코드를 살펴보시고, 수정하시면 됩니다.
package me.data.env object Env { const val TITLE = "SENSTA" // 앱 타이틀 const val DOMAIN = "https://sensta.me" // TSBOARD로 개발된 웹사이트 주소 const val BOARD_ID = "photo" // Board ID on TSBOARD const val BOARD_UID = 2 // Board UID on TSBOARD const val CATEGORY_UID = 5 // 기본 카테고리 고유 번호, 게시판 설정에서 카테고리 안쓸 경우 무시됨 const val MAX_UPLOAD_COUNT = 9 // 한 번에 9장까지 업로드 가능 const val MAX_UPLOAD_SIZE = 100L * 1024 * 1024 // 한 번에 최대 100MB까지 업로드 가능 const val VERSION = "v1.0.0" const val MIN_TSBOARD_VER = "≥ v1.0.5" // 이 앱은 운용중인 서버의 TSBOARD가 v1.0.5 이상이어야 동작합니다 const val MIN_ANDROID_VER = "≥ 14" // 안드로이드 14 (Samsung Galaxy S23 시리즈 이후) 이상 버전 필요 const val GITHUB_URL = "https://github.com/sirini/sensta" // 이 앱의 전체 소스코드 GitHub 주소 }SENSTA 앱의 소스코드를 GitHub에서 포크(fork)하신 후, 여러분의 사이트에 맞게 수정하셔서 별도의 전용 앱을 만들어보세요!
앱을 제작하신 후에는 직접 구글 플레이 스토어에 심사를 거처 등록을 하셔야 합니다.
SENSTA 앱은 안드로이드 네이티브 앱으로, iOS 버전은 현재 없으며 개발에는 Kotlin 언어가 사용되었습니다.
추후 TSBOARD가 업데이트 되면서 앱도 계속 개선될 예정이니, 가급적 변경점을 최소화 하시는 걸 권장합니다!
TSBOARD가 이미 모바일 기기도 잘 지원하는데 왜 별도의 안드로이드 전용 앱을 만들었는지 궁금하신가요?
제 블로그에 뒷얘기가 있습니다 : https://tsboard.dev/blog/sirini/66
TSBOARD 기반으로 직접 만들어서 운영중인
sensta.me사이트 이용자분들을 위해 만들기 시작했습니다.만들다보니, 조금만 고치면 다른 TSBOARD 기반 커뮤니티에서도 유용하게 쓰일 것 같아 코드를 공개하였습니다.
TSBOARD는 이제 커뮤니티 사이트를 위한 종합선물세트가 되어가고 있습니다.
아직도 많이 알려지진 않았습니다만, 언젠가는 이 글을 보실 여러분들 혹은 다른 개발자분들에게 도움이 되리라 생각합니다. 😊
개인적으로는 TypeScript / Go / Kotlin과 같은 쓰기 좋은 언어들과 함께 시간을 보낼 수 있어 기쁩니다. (C++이 없어서 천만다행…?!)
마지막으로 TSBOARD v1.0.5 태그 페이지 링크로 마무리 하겠습니다!
