데브포일 홈
DEV MODE - 실서버 영향 없음 📦 배포 관리
팀 관리와 초대 시스템
+400 XP
LEVEL 85 QUEST

팀 관리와 초대 시스템

팀 관리와 초대 시스템 — DevFoil 바이브코딩 Stage 18, Lv.85

팀 초대 시스템의 전체 흐름
초대부터 팀 합류까지의 과정
B2B SaaS에서 팀 초대 시스템은 핵심 기능입니다. 관리자가 팀원을 초대하면, 이메일을 통해 초대장이 발송되고, 초대받은 사람이 수락하면 팀에 합류하는 전체 흐름을 구현합니다.

전체 플로우:
  • 1단계: 관리자가 이메일 주소와 역할을 입력하여 초대
  • 2단계: 시스템이 고유 토큰을 생성하고 초대 이메일 발송
  • 3단계: 초대받은 사람이 이메일의 링크 클릭
  • 4단계: 기존 회원이면 바로 팀 합류, 새 사용자면 회원가입 후 합류
  • 5단계: 지정된 역할로 팀 멤버에 추가
초대(Invitation) 데이터 모델
초대 정보를 저장하는 테이블 설계
초대에는 만료 시간, 상태 관리, 보안 토큰 등 고려할 사항이 많습니다. 실무에서 빠뜨리기 쉬운 부분까지 포함한 스키마입니다.
// Prisma 스키마 model Invitation { id String @id @default(cuid()) tenantId String email String // 초대받는 사람 이메일 roleId String // 할당할 역할 token String @unique // 보안 토큰 (UUID v4) status InvitationStatus @default(PENDING) invitedBy String // 초대한 사람 ID expiresAt DateTime // 만료 시간 (72시간) acceptedAt DateTime? // 수락 시간 createdAt DateTime @default(now()) tenant Tenant @relation(fields: [tenantId], references: [id]) role Role @relation(fields: [roleId], references: [id]) inviter User @relation(fields: [invitedBy], references: [id]) @@unique([tenantId, email]) // 같은 테넌트에 중복 초대 방지 @@index([token]) } enum InvitationStatus { PENDING // 대기 중 ACCEPTED // 수락됨 EXPIRED // 만료됨 REVOKED // 취소됨 }
🔒
여기까지는 미리보기입니다
팀 관리와 초대 시스템
무료 가입하면 이어서 볼 수 있고, 강의를 완료할 때마다 XP와 레벨이 쌓입니다.
Google로 3초 만에 시작 →🧵 Threads로 시작무료 공개 강의 둘러보기 (Lv.1~3)