## π οΈ Issue Description νλ‘μ νΈλ₯Ό μΈλΆμ μμ νκ² κ³΅μ ν μ μλ ν ν° κΈ°λ° κ³΅μ μμ€ν μ ꡬνν©λλ€. νλ‘μ νΈ λ©€λ²κ° ν ν°μ μμ±νκ³ , ν΄λΉ ν ν°μ κ°μ§ μ¬μ©μλ§ νλ‘μ νΈ μ 보μ λΈλ‘ μν€ν μ²λ₯Ό μ‘°νν μ μλλ‘ ν©λλ€. ## π Functional role - ν ν° κΈ°λ° κ³΅μ (/api/projects/{projectId}/share-token): νλ‘μ νΈ λ©€λ²κ° 곡μ ν ν° μμ±/μ‘°ν - κ³΅κ° νλ‘μ νΈ μ‘°ν (/view/{projectId}?token={token}): ν ν°μ ν΅ν νλ‘μ νΈ μ 보 λ° μν€ν μ² μ‘°ν - 보μμ±: ν ν°μ λͺ¨λ₯΄λ μ¬μ©μλ νλ‘μ νΈμ μ κ·Όν μ μμ - μ νμ 곡μ : νΉμ μ¬λμκ²λ§ νλ‘μ νΈ μ 보λ₯Ό 곡μ κ°λ₯ - μλ λ§λ£: 30μΌ ν ν ν° μλ λ§λ£λ‘ 보μμ± μ μ§ - νμ μ§μ: ν μΈλΆ μΈμκ³Όλ μμ νκ² νλ‘μ νΈ κ³΅μ κ°λ₯ ### π check-lists [//]: # (μ 무 체ν¬λ¦¬μ€νΈλ₯Ό μμ±ν΄μ£ΌμΈμ.) - [x] ProjectShareToken μν°ν° μμ±: ν ν° μ 보, λ§λ£μΌ, νμ±ν μν κ΄λ¦¬ - [x] ProjectShareTokenRepository μΈν°νμ΄μ€: ν ν° μ‘°ν λ° μ ν¨μ± κ²μ¦ λ©μλ - [x] ProjectShareTokenService μλΉμ€: ν ν° μμ± λ° κ΄λ¦¬ λΉμ¦λμ€ λ‘μ§ - [x] ProjectShareTokenController: ν ν° μμ±/μ‘°ν API μλν¬μΈνΈ - [x] ProjectViewService μλΉμ€: κ³΅κ° μ‘°ν μλΉμ€ λ‘μ§ - [x] ProjectViewController: κ³΅κ° μ‘°ν API μλν¬μΈνΈ - [x] ProjectShareTokenResponseDto: ν ν° μλ΅ DTO - [x] ProjectViewResponseDto: κ³΅κ° μ‘°ν μλ΅ DTO - [x] ν ν° μ ν¨μ± κ²μ¦ λ‘μ§: λ§λ£μΌ λ° νμ±ν μν νμΈ - [x] 곡μ URL μμ± λ‘μ§: νλ‘μ νΈλ³ κ³ μ 곡μ λ§ν¬ μμ± - [x] SecurityConfig μμ : /view/ κ²½λ‘ permitAll μ€μ - [x] Project μν°ν° μμ : ProjectShareTokenκ³Όμ κ΄κ³ λ§€ν μΆκ°
Activity
[-]β¨ Feature - νλ‘μ νΈ νμ β곡μ κΈ°λ₯ ꡬν[/-][+]β¨ Feature - Feat: Implement project sharing collaboration features[/+][-]β¨ Feature - Feat: Implement project sharing collaboration features[/-][+]β¨ Feature - Implement project sharing collaboration features[/+]