커뮤니티 참여하기
학생이 K-Lounge 커뮤니티에 참여하는 방법을 설명합니다.
목차
커뮤니티 가입 방법
1. 초대 코드 받기
선생님으로부터 초대 코드를 받아야 합니다. 초대 코드는 다음과 같은 형식입니다:
- 8자리 랜덤 코드 (예:
ABC12345) - 각 커뮤니티마다 고유한 코드
- 선생님이 언제든지 재생성 가능
2. 초대 링크 접속
초대 링크는 다음과 같은 형식입니다:
https://your-domain.com/invite/{inviteCode}
3. 커뮤니티 정보 확인
초대 페이지에서 다음 정보를 확인할 수 있습니다:
- 커뮤니티 이름
- 커뮤니티 설명
- 선생님 정보
- 현재 멤버 수
4. 가입하기
"가입하기" 버튼을 클릭하여 커뮤니티에 참여합니다.
초대 코드 사용하기
URL 파라미터로 전달
초대 링크를 클릭하면 자동으로 초대 코드가 전달됩니다.
데이터 검증
- 유효한 초대 코드인지 확인
- 이미 가입한 커뮤니티인지 확인
- 로그인 상태인지 확인 (비로그인 시 로그인 페이지로 리다이렉트)
가입 처리
가입이 완료되면:
- 멤버십 생성 (역할:
member) - 커뮤니티 멤버 수 증가
- 커뮤니티 페이지로 자동 이동
커뮤니티 전환
여러 커뮤니티 참여
한 학생이 여러 커뮤니티에 참여할 수 있습니다.
커뮤니티 전환 방법
- 사이드바 하단의 "Switch Space" 클릭
- 참여 중인 커뮤니티 목록 확인
- 원하는 커뮤니티 선택
- 해당 커뮤니티 페이지로 이동
현재 커뮤니티 확인
- URL에서
{community-slug}로 현재 커뮤니티 확인 - 사이드바 상단에 커뮤니티 이름 표시
관련 파일
초대 페이지
/app/invite/[code]/page.tsx(라인 1-150)- 초대 코드 검증
- 커뮤니티 정보 표시
- 가입 처리
API 라우트
/app/api/communities/join/route.ts(라인 1-100)- POST: 커뮤니티 가입 처리
- 초대 코드 검증
- 멤버십 생성
컴포넌트
/components/community-switcher.tsx(라인 1-150)- 커뮤니티 전환 UI
- 참여 중인 커뮤니티 목록
주요 기능
자동 리다이렉트
로그인하지 않은 상태에서 초대 링크를 클릭하면:
- 로그인 페이지로 이동
- 로그인 후 자동으로 초대 페이지로 복귀
- 가입 처리 진행
중복 가입 방지
이미 가입한 커뮤니티에 다시 가입하려고 하면:
- 에러 메시지 표시
- 커뮤니티 페이지로 리다이렉트
커뮤니티 슬러그
각 커뮤니티는 고유한 슬러그(slug)를 가집니다:
- URL 친화적인 문자열 (예:
korean-topik-master) - 커뮤니티 이름에서 자동 생성
- 모든 커뮤니티 페이지 URL에 사용
사용 예시
1. 초대 링크 수신
선생님: "다음 링크로 우리 커뮤니티에 가입하세요!"
링크: https://k-lounge.com/invite/ABC12345
2. 가입 완료
성공 메시지: "Korean TOPIK Master 커뮤니티에 가입했습니다!"
자동 이동: /c/korean-topik-master/community
3. 커뮤니티 활동
- 게시글 확인
- 과제 제출
- 퀴즈 응시
- 일기 작성
데이터베이스 스키마
communities 테이블
{
id: string,
name: string,
slug: string,
description: string,
inviteCode: string, // 8자리 랜덤 코드
memberCount: number,
teacherId: string,
createdAt: Date
}
memberships 테이블
{
id: string,
userId: string,
communityId: string,
role: 'teacher' | 'member', // 학생은 'member'
joinedAt: Date
}
권한 및 역할
학생 역할 (member)
학생으로 가입하면 다음 권한을 가집니다:
- 게시글 작성 및 댓글 가능
- 과제 확인 및 제출
- 퀴즈 응시
- 일기 작성
- 리더보드 확인
- 프로필 수정
제한 사항
학생은 다음 작업을 할 수 없습니다:
- 커뮤니티 설정 변경
- 초대 코드 재생성
- 과제 생성
- 퀴즈 생성
- 다른 학생의 제출물 채점
- 공지사항 작성
문제 해결
초대 코드가 유효하지 않은 경우
- 선생님에게 새로운 초대 코드 요청
- 초대 코드가 재생성되었을 수 있음
이미 가입한 커뮤니티인 경우
- 커뮤니티 페이지로 이동
- "Switch Space"로 커뮤니티 전환
로그인 문제
- 계정이 없으면 회원가입 먼저 진행
- 로그인 후 초대 링크 다시 클릭