오픈채팅 Spec
화면 경로 /mainPages/openChat · 작성일 2026-10-12
오픈채팅 화면의 기능·데이터·권한을 정리한 원본 문서입니다. 도움말(openChat-help.html)의 상세 링크가 이 문서의 각 항목으로 연결됩니다.
A1. 업무 흐름
사용자가 공개된 방을 찾아 참여하거나 새 방을 개설하고, 채팅방 화면으로 이동해 대화합니다. 방을 나가거나 내보내는 일은 채팅방 화면에서 합니다.
- 사용자① 방 찾기이 화면 (카테고리)
- 사용자② 참여 또는 개설이 화면
- 사용자③ 대화채팅방 화면
- 방장④ 멤버 관리채팅방 화면 (내보내기)
사용 지점 · 사용 주체 · 목적
| 단계 | 사용 지점 | 사용 주체 | 목적 |
| ① ② 참여 | 관심사가 같은 사람들과 이야기하고 싶을 때 | 로그인 사용자 | 공개 방을 찾아 대화에 참여 |
| ② 개설 | 원하는 주제의 방이 없을 때 | 로그인 사용자 | 새 공개 방을 만들고 방장이 됨 |
A2. 화면 Meta data
| 항목 | 내용 |
| 화면명 | 오픈채팅 |
| 화면 경로 | /mainPages/openChat |
| 메뉴 키 | openChat (서비스 메뉴, 홈 카드 표시) |
| 화면 목적 | 공개 채팅방을 찾아 참여하거나 새로 개설한다 |
| 화면 유형 | 조회+등록 |
| 프로그램 | pages/mainPages/openChat.js, components/core/client/contents/openChatContent.js |
| API 모듈 | pages/api/biz/chatroom.js (openchat.*, CHATROOM_LIST) |
| 주요 테이블 | TB_COR_CHATROOM_MST (room_type=OPEN), TB_COR_CHATROOM_USERS |
| 도움말 파일 | public/help/openChat-help.html, openChat-spec.html |
A3. 화면 구성 상세
| 영역 | 영역명 | 사용자가 하는 일 | 화면 동작 | backend 동작 |
| ① | 카테고리 | 카테고리 선택 | 선택한 카테고리의 방만 다시 조회 | openchat.list |
| ② | 방 목록 | 방 소개·인원 확인, 참여 또는 입장 | 카드 목록, 내 방의 안 읽은 메시지 수 배지 | openchat.list, CHATROOM_LIST |
| ③ | 방 개설 창 | 방 이름·카테고리·방 소개·최대 인원 입력 | 방 개설 버튼으로 열림, 바깥을 누르면 닫힘 | openchat.create |
A4. 조회 조건
| 조건 | 값 | 설명 |
| 카테고리 | 전체, 주식·투자(STOCK), 스터디(STUDY), 게임(GAME), 음악(MUSIC), 기타(ETC) | 기본값 전체 |
목록 정렬 순서
| 순서 | 대상 |
| 1 | 안 읽은 메시지가 있는 내 방 |
| 2 | 참여 중인 내 방 |
| 3 | 나머지 방 (서버가 준 순서) |
A5. 목록 항목 정의
| 항목 | 의미 | 형식 | DB 컬럼 |
| 카테고리 | 방의 주제 | A4 카테고리 값 | CATEGORY |
| 방 이름 | 방 제목 | 문자, 필수 | ROOM_NAME |
| 방 소개 | 방 설명 | 문자, 선택 (두 줄까지 표시) | DESCRIPTION |
| 인원 | 현재 인원 / 최대 인원 | 숫자, 최대 인원 기본 100 | member_count, MAX_MEMBERS |
| 안 읽은 수 | 내 방에 쌓인 안 읽은 메시지 | 숫자, 99 초과는 99+ | CHATROOM_LIST 결과 |
A6. 버튼 동작
| 버튼 (영역) | 누를 수 있을 때 | 확인·검증 | 결과 | backend 처리 |
| 참여 (②) | 참여하지 않은 방, 인원이 남아 있을 때 | 서버가 인원을 다시 확인, 가득 차면 "방이 가득 찼습니다" | 채팅방 화면으로 이동 | openchat.join |
| 입장 (②) | 이미 참여한 방 | 없음 | 채팅방 화면으로 이동 | openchat.join |
| 방 개설 (상단) | 항상 | 없음 | 방 개설 창 열기 | 없음 |
| 개설 (③) | 방 이름을 입력했을 때 | 방 이름·카테고리 필수 | 방이 만들어지고 개설자가 자동 참여, 목록 갱신 | openchat.create |
A7. 권한
| 역할 | 참여 · 대화 | 방 개설 | 멤버 내보내기 |
| 로그인 사용자 | O | O | X |
| 방장 | O | O | O (자기 방만) |
A8. 상태 변화
미참여참여
인원 남음참여 중나가기 · 내보내기미참여
A9. 데이터 연계
| 처리 | 바뀌는 데이터 | 함께 일어나는 일 |
| 개설 | TB_COR_CHATROOM_MST 1건, TB_COR_CHATROOM_USERS 1건 | 개설자가 방장이 되고 자동 참여 |
| 참여 | TB_COR_CHATROOM_USERS 1건 | 채팅방 목록에 방 추가 |
| 방장이 나감 | OWNER_ID | 남은 멤버 중 한 명에게 방장이 넘어감 |
| 마지막 멤버가 나감 | 방·메시지·읽음 정보 삭제 | 방이 목록에서 사라지며 되돌릴 수 없음 |
개정 이력
| 버전 | 수정일 | 수정 내용 |
| 1.0 | 2026-10-12 | 최초 작성 |