Skip to content

✨ Feature - Implement project sharing collaboration features #20

Closed

Description

@parksomii

🛠️ Issue Description

프로젝트를 외부에 안전하게 공유할 수 있는 토큰 기반 공유 시스템을 구현합니다. 프로젝트 멤버가 토큰을 생성하고, 해당 토큰을 가진 사용자만 프로젝트 정보와 블록 아키텍처를 조회할 수 있도록 합니다.

💭 Functional role

  • 토큰 기반 공유 (/api/projects/{projectId}/share-token): 프로젝트 멤버가 공유 토큰 생성/조회
  • 공개 프로젝트 조회 (/view/{projectId}?token={token}): 토큰을 통한 프로젝트 정보 및 아키텍처 조회
  • 보안성: 토큰을 모르는 사용자는 프로젝트에 접근할 수 없음
  • 제한적 공유: 특정 사람에게만 프로젝트 정보를 공유 가능
  • 자동 만료: 30일 후 토큰 자동 만료로 보안성 유지
  • 협업 지원: 팀 외부 인원과도 안전하게 프로젝트 공유 가능

📝 check-lists

  • ProjectShareToken 엔티티 생성: 토큰 정보, 만료일, 활성화 상태 관리
  • ProjectShareTokenRepository 인터페이스: 토큰 조회 및 유효성 검증 메서드
  • ProjectShareTokenService 서비스: 토큰 생성 및 관리 비즈니스 로직
  • ProjectShareTokenController: 토큰 생성/조회 API 엔드포인트
  • ProjectViewService 서비스: 공개 조회 서비스 로직
  • ProjectViewController: 공개 조회 API 엔드포인트
  • ProjectShareTokenResponseDto: 토큰 응답 DTO
  • ProjectViewResponseDto: 공개 조회 응답 DTO
  • 토큰 유효성 검증 로직: 만료일 및 활성화 상태 확인
  • 공유 URL 생성 로직: 프로젝트별 고유 공유 링크 생성
  • SecurityConfig 수정: /view/ 경로 permitAll 설정
  • Project 엔티티 수정: ProjectShareToken과의 관계 매핑 추가

Activity

  1. self-assigned this
    on Oct 22, 2025
  2. changed the title [-]✨ Feature - 프로젝트 협업∘공유 기능 구현[/-] [+]✨ Feature - Feat: Implement project sharing collaboration features[/+] on Oct 22, 2025
  3. changed the title [-]✨ Feature - Feat: Implement project sharing collaboration features[/-] [+]✨ Feature - Implement project sharing collaboration features[/+] on Oct 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions