🚀 시작하기
1. 접속 및 회원가입
스레드 채팅은 별도의 회원가입 없이 바로 시작할 수 있습니다!
- 채팅 페이지에 접속합니다
- 자동으로 게스트 계정이 생성되며, 고유한 닉네임이 부여됩니다 (예: 게스트_a1b2c3d4)
- 닉네임 옆의 ✏️ 버튼을 클릭하여 원하는 닉네임으로 변경할 수 있습니다
💡 닉네임 변경 제한
스팸 방지를 위해 다음과 같은 제한이 있습니다:
- 무료 변경: 3회까지
- 그 이후: 7일에 한 번씩 변경 가능
- 최대 길이: 20자
🏠 채팅방 만들기
1. 새 채팅방 생성
"+ 새 채팅방 만들기" 버튼을 클릭하면 다양한 옵션과 함께 채팅방을 생성할 수 있습니다.
기본 설정
- 채팅방 이름: 채팅방의 제목 (필수)
- 채팅방 이미지 NEW: 초대 링크 미리보기에 표시될 이미지 업로드 (선택사항)
- 지원 형식: JPG, PNG, GIF, WEBP
- 최대 크기: 5MB
- 권장 해상도: 1200x630px
공개 설정
🌍 공개 채팅방
누구나 참여할 수 있으며, 메인 페이지에 표시됩니다.
🔒 비공개 채팅방
비밀번호가 필요하며, 초대 링크를 아는 사람만 참여할 수 있습니다.
대화 권한 설정
- 💬 모두 대화 가능: 모든 참여자가 자유롭게 메시지를 보낼 수 있습니다
- 👑 방장만 대화: 방장만 메시지를 보낼 수 있습니다 (공지방에 적합)
- ✅ 지정 인원만 대화: 방장과 방장이 허가한 사용자만 대화할 수 있습니다
최대 참여 인원
2명, 5명, 10명, 20명, 50명, 100명, 무제한 중에서 선택할 수 있습니다.
2. 초대 링크로 참여
"🔗 초대로 참여" 버튼을 클릭하여 다른 사람이 공유한 초대 코드로 채팅방에 입장할 수 있습니다.
💬 메시지 기능
1. 기본 메시지 전송
- Enter: 메시지 전송
- Shift + Enter: 줄바꿈
- 메시지 입력 중 자동으로 "타이핑 중..." 상태가 다른 사용자에게 표시됩니다
2. 파일 업로드 PRO
📎 버튼을 클릭하여 이미지와 동영상을 업로드할 수 있습니다.
- 이미지: JPG, PNG, GIF, WEBP
- 동영상: MP4
- 다중 업로드: 한 번에 여러 파일 선택 가능
- 최대 크기: 파일당 10MB
3. 답글 (스레드) PRO
메시지에 마우스를 올리면 나타나는 "↩️" 버튼을 클릭하여 특정 메시지에 답글을 달 수 있습니다.
- 원본 메시지가 답글 위에 미리보기로 표시됩니다
- 스레드 형식으로 대화를 체계적으로 관리할 수 있습니다
4. 리액션 PRO
메시지에 마우스를 올리면 나타나는 이모지 버튼을 클릭하여 반응을 추가할 수 있습니다.
- 다양한 이모지로 감정 표현
- 여러 사용자가 같은 리액션을 추가하면 카운트가 증가합니다
- 자신의 리액션은 다시 클릭하여 제거할 수 있습니다
5. 읽음 표시 PRO
각 메시지 하단에 "읽음 N명" 형식으로 읽은 사용자 수가 표시됩니다.
⚙️ 방 관리
1. 채팅방 정보 수정
채팅방 헤더의 ⚙️ 버튼을 클릭하여 설정 메뉴에 접근할 수 있습니다.
방장 권한
- 방 이름 변경: 방 이름 옆 ✏️ 버튼 클릭
- 공지사항 설정: 📢 버튼으로 중요한 공지 등록
- 초대 링크 공유: 🔗 버튼으로 초대 코드 복사
- 방 이미지 업로드 NEW: 설정에서 채팅방 대표 이미지 변경
2. 참여자 관리 PRO
우측 참여자 목록에서 다양한 관리 기능을 사용할 수 있습니다.
참여자 목록 정렬 NEW
- 방장: 항상 목록 맨 위에 표시됩니다 (👑 아이콘)
- 온라인 상태: 🟢 온라인 / 🟡 자리비움 / ⚫ 오프라인
대화 권한 관리
"✅ 지정 인원만 대화" 모드에서 방장은 각 참여자의 대화 권한을 개별적으로 토글할 수 있습니다.
1:1 DM (Direct Message)
참여자를 우클릭하거나 참여자 버튼을 클릭하여 1:1 대화방을 생성할 수 있습니다.
3. 검색 및 내보내기
🔍 메시지 검색
- 키워드 검색: 특정 단어가 포함된 메시지 찾기
- 날짜 범위 지정: 시작일~종료일 설정
- 검색 결과 하이라이트 표시
💾 대화 내보내기
채팅 내용을 다양한 형식으로 다운로드할 수 있습니다:
- 텍스트 파일 (.txt): 순수 텍스트 형식
- HTML: 웹 브라우저에서 볼 수 있는 형식
- JSON: 데이터 백업용 (이미지 URL 포함)
🗑️ 메시지 삭제
- 개별 삭제: 자신의 메시지만 삭제 가능
- 전체 삭제: 방장은 모든 메시지를 한 번에 삭제 가능
- 검색 결과 삭제: 검색된 메시지만 선택적으로 삭제 (방장 전용)
🎯 고급 기능
1. 실시간 동기화
스레드 채팅은 Ajax Long Polling 방식을 사용하여 초저지연 실시간 통신을 구현합니다.
- Heartbeat: 15초마다 서버와 연결 상태 확인
- Auto-refresh: 0.5초마다 새 메시지 자동 업데이트
- 온라인 상태: 실시간 참여자 상태 추적
2. 세션 관리 및 보안
- 도메인 통합 세션: chat.rand3.com 전체에서 동일한 세션 유지
- HTTPS 전용: SSL/TLS 암호화 통신
- HttpOnly 쿠키: XSS 공격 방지
- CSRF 보호: SameSite 쿠키 정책 적용
- 비밀번호 해싱: BCrypt 알고리즘 사용
3. 모바일 최적화
- 완전 반응형 디자인
- 터치 제스처 지원
- 모바일 전용 UI 컴포넌트
- 가로/세로 모드 자동 조정
4. 접근성 기능
- 키보드 단축키 지원
- 고대비 테마
- 스크린 리더 호환
- 포커스 표시
🔧 기술 스택
스레드 채팅은 현대적이고 안정적인 기술 스택으로 구축되었습니다.
💻 Frontend
- Vanilla JavaScript (ES6+)
- CSS3 (Custom Properties)
- Ajax Long Polling
- Responsive Design
🔧 Backend
- PHP 8.x (PHP-FPM)
- MySQL 8.0
- Apache 2.4
- WordPress Integration
🔐 Security
- Let's Encrypt SSL/TLS
- BCrypt Password Hashing
- XSS & CSRF Protection
- SQL Injection Prevention
🚀 Infrastructure
- Amazon AWS EC2
- Bitnami WordPress Stack
- CloudFlare DNS
- Let's Encrypt SSL/TLS
데이터베이스 스키마
스레드 채팅은 다음과 같은 주요 테이블로 구성됩니다:
chat_users: 사용자 정보 및 세션 관리
chat_rooms: 채팅방 정보, 설정, 이미지
chat_participants: 채팅방 참여자 및 권한
chat_messages: 메시지 내용 및 메타데이터
chat_message_reads: 메시지 읽음 상태 추적
chat_reactions: 메시지 리액션 저장
성능 최적화
- Database Indexing: 주요 쿼리 최적화
- Gzip Compression: 정적 파일 압축
- Browser Caching: CSS/JS 파일 캐싱 (1개월)
- Image Optimization: 자동 리사이징 및 압축
- Query Optimization: Prepared Statements 사용