web
ReadMates는 초대 기반 독서모임을 운영하는 호스트와 모임을 준비하고 기록을 다시 읽는 멤버를 주 사용자로 삼는다. 공개된 모임 소개와 기록을 살펴보는 외부 방문자도 제품을 사용한다. 사용자는 데스크톱과 모바일 웹에서 모임 전 준비, 모임 운영, 모임 후 기록 열람을 이어 간다.
여러 도구에 흩어지기 쉬운 참석 응답, 읽기 진행, 질문, 하이라이트, 한줄평, 공개 기록과 피드백 문서를 하나의 클럽 흐름으로 연결한다. 성공한 경험은 사용자의 역할과 공개 범위를 분명히 보여 주고, 필요한 기록을 읽은 뒤 다음 행동으로 자연스럽게 이동하게 한다.
ReadMates는 일반적인 커뮤니티 게시판이나 범용 협업 도구가 아니라, 초대부터 모임 준비·진행·회고·공개 기록까지 독서모임의 전체 생애주기를 하나의 클럽 문맥으로 연결한다. 멤버의 개인 독서 기록과 호스트의 운영 기록, 외부에 공개할 기록을 서로 다른 권한과 화면으로 다루면서도 같은 모임 흐름 안에서 이어 주는 것이 핵심이다.
- 멤버는 모임 전 참석 여부와 읽기 진행을 남기고 질문·하이라이트·한줄평을 준비한다.
- 호스트는 초대와 멤버 승인, 세션 준비, 알림, 마감, 공개 기록과 피드백 문서를 운영한다.
- 모임 후 멤버는 개인 기록과 클럽 아카이브를 다시 읽고, 외부 방문자는 공개된 소개와 세션 기록을 살펴본다.
- 멤버 공간과 호스트 공간은 별도의 작업 문맥이지만, 권한이 있는 호스트는 두 공간을 전환하며 사용한다.
- 인증된 앱은 클럽 범위를 유지하는 member/host route를 사용하며, 호스트 전환은 권한이 있는 사용자에게만 제공한다.
- 계정 설정과 로그아웃은 현재 작업 공간과 무관하게 접근할 수 있어야 한다.
- 멤버의
내 공간은 개인 정체성, 독서 성취, 최근 기록과 관련 개인 기능의 기준점이다. - 받은 알림과 알림 수신 설정은 같은 알림 정보구조 안에서 다룬다.
- 공개 화면, 멤버 화면, 호스트 화면, 플랫폼 관리 화면의 권한과 정보 범위를 섞지 않는다.
- 실제 멤버 데이터, 비밀값, 배포 상태와 비공개 인프라 정보는 제품 문서나 예시에 넣지 않는다.
제품명은 ReadMates이며 한국어 UI에서는 클럽 이름과 함께 차분하고 사려 깊은 독서 기록 문맥을 유지한다. 사용자에게 보이는 문구는 역할, 권한, 상태와 다음 행동을 구체적으로 설명하고 과장된 마케팅 표현을 사용하지 않는다.
저장소에는 React/Vite 프런트엔드, Cloudflare Pages Functions BFF, Kotlin/Spring Boot API, MySQL/Flyway migration, 역할별 route와 자동화 테스트가 있다. 제품 외부의 고객 증언, 시장 수치나 성과 주장은 확인된 자료가 없으므로 새로 만들지 않는다.
- 기록은 일회성 콘텐츠가 아니라 다시 읽고 이어 가는 제품의 핵심 자산이다.
- 따뜻하고 차분한 경험을 유지하되 역할, 권한, 상태와 다음 행동은 모호하지 않게 표현한다.
- 모바일과 데스크톱을 모두 완전한 사용 환경으로 다루고, 중요한 기능을 추측이 필요한 아이콘 뒤에 숨기지 않는다.
- 개인 기록, 클럽 운영, 공개 기록의 경계를 지키면서 한 모임의 흐름으로 연결한다.
- 새로운 기능은 기존 route, 권한, 클럽 범위와 공개 저장소 안전 계약을 보존한다.
WCAG AA 대비, 가시적인 키보드 포커스, 의미 있는 구조와 reduced-motion 지원을 기본으로 한다. 색상에만 의존하지 않으며, 한국어와 영어가 작은 화면에서도 겹치거나 잘리지 않도록 유연한 줄바꿈과 충분한 터치 영역을 보장한다.