Skip to content

โœจ Feature - Implement project sharing collaboration featuresย #20

@parksomii

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๊ณผ์˜ ๊ด€๊ณ„ ๋งคํ•‘ ์ถ”๊ฐ€

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions