✨ Feature - Implement project sharing collaboration features #20
Copy link
Copy link
Closed
Labels
Description
🛠️ 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과의 관계 매핑 추가
Reactions are currently unavailable
Activity
[-]✨ Feature - 프로젝트 협업∘공유 기능 구현[/-][+]✨ Feature - Feat: Implement project sharing collaboration features[/+][-]✨ Feature - Feat: Implement project sharing collaboration features[/-][+]✨ Feature - Implement project sharing collaboration features[/+]