Skip to content

[BE] Room, Pt 테이블 / redis 캐싱 구현 #65

@lnxhigh

Description

@lnxhigh

🧾 이슈 개요

제시된 요구사항에 맞춰 PostgresSQL의 테이블(Room, Pt) 스키마를 TypeORM 엔티티로 구현하고, Redis를 캐싱 용도로만 사용하기 위한 연결 설정을 진행합니다.

👤 개발 시나리오

  1. 서버 실행 시 TypeORM이 DB와 동기화(Synchronize)되어 테이블이 생성된다.
  2. Redis 연결이 성공적으로 이루어진다.

✅ TODO

  • Room 엔티티 구현
    • room_id (PK, Auto-increment)
    • room_code (Unique) -> NanoID(6)
    • room_password, host_password (Nullable, Hash)
    • host_transfer_policy (Enum: 'no_transfer' | 'auto_transfer')
    • default_role_policy (Enum: 'viewer' | 'editor')
    • created_at, expires_at (Timestamp)
  • Pt (Participant) 엔티티 구현
    • pt_id (PK, UUID)
    • room_id (FK -> Room)
    • role (Enum: 'host' | 'editor' | 'viewer')
    • presence (Enum: 'online' | 'offline')
    • nickname, color
    • code -> NanoID(4)
    • created_at, expires_at (Timestamp)

📌 Acceptance Criteria

  • 서버 구동 시 RoomPt 테이블이 정확한 컬럼과 타입으로 생성되어야 한다.
  • room_code는 유니크 제약조건이 걸려 있어야 한다.

💬 Remarks

  • Redis Cache 는 socket.io 의 메모리를 사용하는 것으로 대체합니다.
  • Redis 는 나중에 문서 복원 등을 위해 사용될 수 있습니다.

Metadata

Metadata

Assignees

Labels

BE백엔드 (NestJS, API) 관련 작업P1: High핵심 기능, MVP 필수 요건

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions