User Flow - PIC-2-team/PIC-2-team-project GitHub Wiki
μ μ νλ‘μ°
μμ±μΌ: 2026-10-09 | λ°ν: PRD
μ μ νμ
| νμ | μ€λͺ | μ± λ΄ μν |
|---|---|---|
| λλ΄ λ³΄νΈμ | λ°λ¬μ₯μ μΈμ λΆλͺ¨Β·κ°μ‘±. μ 보λ₯Ό κ°μ₯ λ§μ΄ 보μ | κΈ°λ‘ μμ±Β·μμ , μ κ·Ό κΆν κ΄λ¦¬, κΈ°κ΄ μ ν |
| μΈμ»¨λ 보νΈμ | 보νΈμ λΆμ¬ μ κΆνμ μ΄μ΄λ°λ μ¬λ | 보νΈμμ λμΌν κΆν (λΆμ¬ μ νμ±ν) |
| νλ μ§μμ¬ (κΈ°κ΄ μμ) | κΈ°κ΄ νλμ μμλμ΄ λλ΄ μλΉμ€λ₯Ό μ§μ μ 곡. νλ μ§μμ¬ κ³ μ λ²νΈ 보μ | κΈ°λ‘ μμ±Β·μ΄λ, μμ μ μ, μΆκ° μ 보 μμ² |
| κΈ°κ΄ (μ¬ν 볡μ§μ¬) | νλ μ§μμ¬λ₯Ό κ΄λ¦¬νκ³ λ³΄νΈμμ μ 보λ₯Ό μ€κ³ | νλ μ§μμ¬ λ°°μ Β·κΆν μ§μ , 보νΈμ μ°κ²°Β·ν΄μ |
λ°λ¬μ₯μ μΈ λΉμ¬μμ μ± μ§μ μ¬μ©μ MVP λ²μ λ°
λ°μ΄ν° νλ¦
μμΈ λ€μ΄μ΄κ·Έλ¨: data-flow.png Β· permission-flow.png
μΆκ²° (μμ€ν
)
- λμμ κ³ μ λ²νΈ κ΄λ¦¬
- κΈ°κ΄ κ³ μ μ½λ κ΄λ¦¬
- λμμ μ λ°μ λ΄μ© κ΄λ¦¬
β μ λ°μ μΈ λ΄μ©
βΌ
κΈ°κ΄ (κΈ°κ΄ κ³ μ μ½λ)
- νλ μ§μμ¬ μΆκ°/μμ /μμ (νλ μ§μμ¬ κ³ μ λ²νΈλ‘ κ΄λ¦¬)
- νλ μ§μμ¬λ³ μ΄λ κΆν μ§μ
- λλ΄ λ³΄νΈμ μΆκ°/μ κ±° (λμμ κ³ μ λ²νΈ μ΄μ©)
ββββββββββββ΄βββββββββββ
β λ°°μΉΒ·κΆν μ§μ β 보νΈμ μΆκ°/μ κ±°
βΌ βΌ
νλ μ§μμ¬ λλ΄ λ³΄νΈμ (λμμ κ³ μ λ²νΈ)
(νλ μ§μμ¬ κ³ μ λ²νΈ) β β
β λμ νλ μμ± β β λμ νλ κΈ°λ‘ μ΄λ
β μΆκ° λ΄μ© μμ²/μ΄λ βββ β μΆκ° λ΄μ© μμ±
ββββββββββββββββββββββββββββββββ
| λ°©ν₯ | μ λ¬ λ΄μ© |
|---|---|
| μΆκ²° β κΈ°κ΄ | μ λ°μ μΈ λ΄μ©, κΈ°κ΄ κ³ μ μ½λ λ°κΈ |
| κΈ°κ΄ β νλ μ§μμ¬ | λ°°μΉ, μ΄λ κΆν μ§μ , λΉμ¬μ μ 보 |
| κΈ°κ΄ β λλ΄ λ³΄νΈμ | 보νΈμ μΆκ°/μ κ±° (λμμ κ³ μ λ²νΈ), μ 보 μ°κ²° |
| νλ μ§μμ¬ β λλ΄ λ³΄νΈμ | λμ νλ κΈ°λ‘ μμ±, μΆκ° λ΄μ© μμ²Β·μ΄λ |
| λλ΄ λ³΄νΈμ β νλ μ§μμ¬ | λμ νλ κΈ°λ‘ μ΄λ, μΆκ° λ΄μ© μμ± |
κΆν μ΄λ
| μν© | νλ¦ |
|---|---|
| κΈ°κ΄ μ΄κ΄ | 보νΈμκ° κΈ°κ΄ μ ν β μΆκ²°μ μ΄κ΄ μμ² β μΆκ²°μ΄ μ κΈ°κ΄μ μ 보 μ΄κ΄ |
| 보νΈμ λΆμ¬ | λλ΄ λ³΄νΈμ κΆν β μΈμ»¨λ 보νΈμλ‘ μ΄λ |
1. κ³΅ν΅ β μ¨λ³΄λ©
μ± μ²« μ€ν
ββ μ΄μ©μ½κ΄Β·κ°μΈμ 보 μ²λ¦¬ λμ (/consent)
ββ [λμ] β μν μ ν
ββ λλ΄ λ³΄νΈμ β νμκ°μ
/λ‘κ·ΈμΈ β ν (/home)
ββ νλ μ§μμ¬ β μμ κΈ°κ΄ μ½λ μ
λ ₯ (μΆκ²°μ΄ κΈ°κ΄ κ°μ
μ λ°κΈν μ½λ) β κ°μ
/λ‘κ·ΈμΈ β ν (/home)
ββ κΈ°κ΄ β νμκ°μ
β μΆκ²° κΈ°κ΄ μ½λ μλ λ°κΈ β λ‘κ·ΈμΈ β ν (/home)
2. λλ΄ λ³΄νΈμ νλ‘μ°
2-1. λΉμ¬μ νλ‘ν μ΅μ΄ λ±λ‘
μ²μ λ‘κ·ΈμΈν 보νΈμκ° λΉμ¬μ μ 보λ₯Ό λ±λ‘νλ νλ‘μ°
ν (/home) β λ±λ‘λ λΉμ¬μ μμ
ββ [λΉμ¬μ λ±λ‘νκΈ°]
ββ κΈ°λ³Έ μ 보 μ
λ ₯ (μ΄λ¦, μλ
μμΌ, μ₯μ μ ν, κ³ μ λ²νΈ λ±)
ββ λ±λ‘ μλ£ β ν (λΉμ¬μ μΉ΄λ νμ)
2-2. μνκΈ°λ‘ μμ±
ν (/home) λλ μνκΈ°λ‘ ν (/records)
ββ [κΈ°λ‘νκΈ°]
ββ κΈ°λ‘ μμ± (/records/new)
ββ μ
λ ₯ λ°©μ μ ν
β ββ ν
μ€νΈ μ
λ ₯ β AIκ° μΉ΄ν
κ³ λ¦¬ μλ λ°°μ (M6)
β β β μΉ΄ν
κ³ λ¦¬ νμΈΒ·μμ κ°λ₯ (μμ¬μν΅ λ°©μ / μνμ΅κ΄ / μμ΅κ΄ / μ νΈΒ·λΉμ νΈ /
β β λμ μ νλ / κ±΄κ° μ 보 / μκΈ° λμ² λ°©λ² / κΈ°ν)
β ββ μμ± μ
λ ₯ β AIκ° ν
μ€νΈ λ³ν + μΉ΄ν
κ³ λ¦¬ μλ λ°°μ (M6)
β β λ΄μ©Β·μΉ΄ν
κ³ λ¦¬ νμΈ ν μ μ₯
ββ λ―Έλμ΄ μ²¨λΆ (μ¬μ§Β·μμΒ·μμ±) β M2
ββ [μ μ₯] β μνκΈ°λ‘ λͺ©λ‘ (/records)
2-3. μ€μ μ 보 ν (μλ¨ κ³ μ )
μνκΈ°λ‘ λͺ©λ‘ (/records)
ββ κΈ°λ‘ μΉ΄λ κΈΈκ² λλ₯΄κΈ° λλ λ보기 λ©λ΄
ββ [μ€μ μ λ³΄λ‘ κ³ μ ]
ββ λλ΄μ 보 ν (/care-info) μ΅μλ¨μ νμ
ββ μλ‘μ΄ λλ΄ μ 곡μκ° κ°μ₯ λ¨Όμ νμΈ
2-4. λλ΄ κ΄κ³ κ΄λ¦¬ (κΈ°κ΄ κ²½μ λ°°μ )
νλ μ§μμ¬λ κΈ°κ΄μ΄ λ°°μ . 보νΈμκ° μ§μ μ΄λνμ§ μλλ€.
λ§μ΄νμ΄μ§ (/more) β [λλ΄ κ΄κ³ κ΄λ¦¬]
ββ κΈ°κ΄μ΄ λ°°μ ν νλ μ§μμ¬ λͺ©λ‘ νμ
ββ λ΄λΉμ μ΄λ¦Β·κΈ°κ΄λͺ
Β·μ κ·Ό κΈ°κ° νμΈ
ββ [λλ΄ μ’
λ£] β μ¦μ μ κ·Ό κΆν νμ
ββ [κΈ°κ΄ μ΄μ ]
ββ 보νΈμ: μ κΈ°κ΄ μ½λ μ
λ ₯ (κΈ°κ΄ μ ν)
ββ μΆκ²°μ μ΄κ΄ μμ² β μΆκ²°μ΄ μ κΈ°κ΄μ μ 보 μ΄κ΄
ββ μ΄μ μλ£ β κΈ°μ‘΄ κΈ°κ΄ μ°κ²° ν΄μ , μ κΈ°κ΄μΌλ‘ μ ν
2-5. μΈμ»¨λ 보νΈμ μ§μ (μ΄λ μ½λ λ°κΈ)
보νΈμ λΆμ¬ μ κΆνμ μ΄μ΄λ°μ μ¬λμ 미리 μ§μ νλ νλ‘μ°
λ§μ΄νμ΄μ§ (/more) β [μΈμ»¨λ 보νΈμ κ΄λ¦¬]
ββ [μΈμ»¨λ 보νΈμ μ§μ ]
ββ μ΄λ¦Β·μ°λ½μ² μ
λ ₯
ββ μ§μ μλ£ β μ΄λ μ½λ(invitationToken) λ°κΈ
ββ μ΄λ λμμμκ² μ½λ μ λ¬ (μΈλΆ μλ¨)
ββ [μμ ] β λμ λ³κ²½
ββ [μμ ] β μ§μ ν΄μ
보νΈμ λΆμ¬ μ: μΈμ»¨λ 보νΈμμκ² λλ΄ λ³΄νΈμμ λμΌν κΆν μ΄λ
2-6. μΈμ»¨λ 보νΈμ μ΄λ μλ½ (μ΄λ λ°λ μΈ‘)
μ΄λ μ½λλ₯Ό λ°μ μ¬λμ΄ μ± λ΄μμ μλ½νλ νλ‘μ°
λ§μ΄νμ΄μ§ (/more) β [μΈμ»¨λ 보νΈμ μ΄λ μλ½] μΉμ
ββ μ΄λ μ½λ μ
λ ₯
ββ [μλ½] β POST /api/auth/invitations/accept
ββ μ±κ³΅: μν INVITED β READY μ ν, 보νΈμκ° ACTIVE μ ν ν μ κ·Ό κ°λ₯
β ν΄λΉ λΉμ¬μ μ 보 μ΄λ κΆν μ¦μ λΆμ¬
ββ μ€ν¨: μλͺ»λ μ½λ λλ λ§λ£ μλ΄
2-7. λ€μ λΉμ¬μ μ ν
보νΈμκ° μ¬λ¬ λΉμ¬μλ₯Ό λ±λ‘ν κ²½μ° νμ¬ λμμ μ ννλ νλ‘μ°
ν (/home) λλ λ§μ΄νμ΄μ§ (/more)
ββ λΉμ¬μ μ ν μ
λ ν° (listCareRecipients() μλ΅μ΄ 2건 μ΄μμΌ λλ§ λ
ΈμΆ)
ββ λ€λ₯Έ λΉμ¬μ μ ν
ββ setSelectedRecipient(id) νΈμΆ β μ± μ μ 컨ν
μ€νΈ κ°±μ
ββ νΒ·κΈ°λ‘Β·λλ΄μ 보 λ± μ 체 νλ©΄ λ°μ΄ν° μ νλ λΉμ¬μ κΈ°μ€μΌλ‘ κ°±μ
2-8. νλμ§μμ¬ μμ μμ² κ²ν
νλμ§μμ¬κ° λλ΄ λ΄μ© μμ μμ²(RecordRequest)μ 보λμ λ 보νΈμκ° κ²ν νλ νλ‘μ° (μμ μ μ(RecordSuggestion) μΉμΈΒ·κ±°λΆμ λ³λ νλ¦)
[λ°©λ² A] μλ¦Όν¨ (/notifications)
ββ RECORD_REQUEST_RECEIVED μλ¦Ό ν΄λ¦
ββ μμ μμ² κ²ν νλ©΄ (/more/record-requests)μΌλ‘ μ΄λ
[λ°©λ² B] λ§μ΄νμ΄μ§ (/more) β [μμ μμ² κ²ν ]
ββ μμ λ μμ μμ² λͺ©λ‘ (GET /api/care-recipients/{id}/record-requests)
ββ μμ² μ ν
ββ [μ§μ κΈ°λ‘ μμ ] β ν΄λΉ κΈ°λ‘ νΈμ§ νλ©΄μΌλ‘ μ΄λ
ββ [λ°λ € λ©μμ§ μ μ‘] β λ°λ € μ¬μ μ
λ ₯ β νλμ§μμ¬μκ² μλ¦Ό
3. νλ μ§μμ¬ νλ‘μ° (κΈ°κ΄ μμ)
3-1. λ΄λΉ λΉμ¬μ μ 보 νμΈ
μμ κΈ°κ΄ μ½λ μ
λ ₯ (μΆκ²° λ°κΈ μ½λ) β κ°μ
β ν (/home)
ββ κΈ°κ΄μ΄ λ°°μ ν λΉμ¬μ μΉ΄λ νμ
ββ [λΉμ¬μ μ 보 보기] β λλ΄μ 보 (/care-info)
ββ μ€μ μ 보·주μμ¬ν (νλ νλͺ©)
ββ μ 체 μνκΈ°λ‘ μ΄λ (/records)
3-2. κΈ°λ‘ μμ± λ° μΌλ³ μ‘°ν
μνκΈ°λ‘ ν (/records)
ββ [κΈ°λ‘νκΈ°] β κΈ°λ‘ μμ± (2-2 νλ‘μ°μ λμΌ, AI μΉ΄ν
κ³ λ¦¬ μλ λ°°μ )
β νΉν λμ νλ μΉ΄ν
κ³ λ¦¬ κΈ°λ‘ κ°μ‘° (κΈ°κ΄ μμ² μ¬ν)
ββ λ μ§ μ ν (μΊλ¦°λ) β ν΄λΉ λ μ§ κΈ°λ‘ λͺ©λ‘ β μμΈ λ³΄κΈ°
3-3. μΆκ° μ 보 μμ² (κΈ°κ΄ κ²½μ )
λ§μ΄νμ΄μ§ (/more) β [보νΈμμκ² μΆκ° μ 보 μμ²]
ββ μμ² λ΄μ© μ
λ ₯ (보νΈμμκ² μΆκ°λ‘ λ°κ³ μΆμ μ 보)
ββ [κΈ°κ΄μ μ λ¬] β κΈ°κ΄(μ¬ν 볡μ§μ¬)μ΄ λ³΄νΈμμκ² μ€κ³
3-4. μμ μ μ (M7)
λ³ΈμΈμ΄ μ§μ μμ±ν κΈ°λ‘μ μ§μ μμ Β·μμ κ°λ₯. 보νΈμκ° μμ±ν κΈ°λ‘μ μμ μ μλ§ κ°λ₯ (보νΈμ μΉμΈ ν λ°μ). λ§μ΄νμ΄μ§μμ λ³ΈμΈ μμ± κΈ°λ‘ μ΄λ ₯ κ΄λ¦¬ λ° λ³΅κ΅¬ κ°λ₯.
κΈ°λ‘ μμΈ (/records/:id)
ββ [μμ ] β λ³ΈμΈμ΄ μμ±ν κΈ°λ‘μΈ κ²½μ°
β ββ μ§μ μμ β μ μ₯ (μμ μ΄λ ₯ κΈ°λ‘)
ββ [μμ μ μ] β 보νΈμκ° μμ±ν κΈ°λ‘μΈ κ²½μ°
ββ λ³κ²½ λ΄μ© μ
λ ₯
ββ [μ μ μ μ‘] β 보νΈμμκ² μλ¦Ό
ββ 보νΈμ κ²ν
ββ [μΉμΈ] β κΈ°λ‘ μ
λ°μ΄νΈ
ββ [κ±°μ ] β κΈ°μ‘΄ κΈ°λ‘ μ μ§
4. κΈ°κ΄ νλ‘μ°
4-1. νλ μ§μμ¬ λ°°μ
κΈ°κ΄μ΄ λΉμ¬μμ νλ μ§μμ¬λ₯Ό μ°κ²°νλ ν΅μ¬ νλ‘μ°
κΈ°κ΄ λμ보λ β λ΄λΉ λΉμ¬μ λͺ©λ‘
ββ λΉμ¬μ μ ν β [νλ μ§μμ¬ λ°°μ ]
ββ μμ νλ μ§μμ¬ λͺ©λ‘μμ μ ν
ββ μ κ·Ό κΈ°κ° μ€μ (μμμΌ ~ μ’
λ£μΌ)
ββ λ°°μ μλ£
ββ νλ μ§μμ¬μκ² μλ¦Ό (λΉμ¬μ μ 보 μ κ·Ό κ°λ₯)
ββ 보νΈμμκ² μλ¦Ό (μ λ΄λΉ νλ μ§μμ¬ λ°°μ )
4-2. 보νΈμ μ 보 μμ λ° μ΄λ
ν (/home) β λ΄λΉ λΉμ¬μ λͺ©λ‘
ββ λΉμ¬μ μ ν β λλ΄μ 보 (/care-info)
ββ 보νΈμκ° μμ±ν μ λ°μ μΈ κΈ°λ‘ μ΄λ
ββ νλ μ§μμ¬μκ² νμν μ 보 νμΈ
4-3. κΈ°κ΄ μ°κ²° μμ² μλ½Β·κ±°λΆ (보νΈμ μΈ‘)
κΈ°κ΄μ΄ μ°κ²° μμ²μ 보λ΄λ©΄(PENDING), 보νΈμκ° μλ½νκ±°λ κ±°λΆνλ νλ‘μ°
λλ΄ κ΄κ³ κ΄λ¦¬ (/more β λλ΄ κ΄κ³ κ΄λ¦¬)
ββ λκΈ° μ€(PENDING) κΈ°κ΄ μ°κ²° μμ² λͺ©λ‘ (GET /api/care-recipients/{id}/organization-link-requests)
ββ μμ² μ ν
ββ [μλ½] β POST .../organization-link-requests/{requestId}/accept
β μ°κ²° μν PENDING β ACCEPTED
ββ [κ±°λΆ] β POST .../organization-link-requests/{requestId}/reject
μ°κ²° μν PENDING β REJECTED
4-4. νλ μ§μμ¬μκ² λμ νλ κΈ°λ‘ μμ²
κΈ°κ΄ λμ보λ β λ΄λΉ νλ μ§μμ¬ λͺ©λ‘
ββ [λμ νλ κΈ°λ‘ μμ²] β λμ λΉμ¬μ μ ν
ββ μμ² μ μ‘ β νλ μ§μμ¬ μλ¦Ό
ββ νλ μ§μμ¬κ° λμ νλ κΈ°λ‘ μμ± β κΈ°κ΄μμ νμΈ
4-5. 보νΈμμκ² λμ νλ κΈ°λ‘ μ λ¬ λ° μΆκ° μ 보 μμ² μ€κ³
κΈ°κ΄ λμ보λ β νλ μ§μμ¬ κΈ°λ‘ νμΈ
ββ λμ νλ κΈ°λ‘ λ³΄νΈμμκ² μ λ¬
ββ νλ μ§μμ¬μ μΆκ° μ 보 μμ² μ€κ³ β 보νΈμμκ² μλ¦Ό
5. λ§μ΄νμ΄μ§ νλ‘μ°
λ보기 ν (/more)
ββ λ΄ μ 보
β ββ νλ‘ν μμ
β ββ λΉλ°λ²νΈ λ³κ²½
ββ λλ΄ κ΄κ³ κ΄λ¦¬ β 보νΈμλ§ νμ
β ββ κΈ°κ΄μ΄ λ°°μ ν νλ μ§μμ¬ λͺ©λ‘
β ββ λλ΄ μ’
λ£
β ββ κΈ°κ΄ μ΄μ
ββ μΈμ»¨λ 보νΈμ κ΄λ¦¬ β 보νΈμλ§ νμ
β ββ μΈμ»¨λ 보νΈμ μ§μ Β·μμ
β ββ μ§μ ν΄μ
ββ μ κ·Ό μ΄λ ₯ νμΈ β 보νΈμλ§ νμ (Should)
ββ μλΉμ€
β ββ μλ¦Ό μ€μ
β ββ λμλ§
ββ [λ‘κ·Έμμ] β μ¨λ³΄λ©
6. νλ©΄ β λΌμ°νΈ λ§€ν
| νλ©΄ | λΌμ°νΈ | μ κ·Ό κ°λ₯ μν |
|---|---|---|
| λμ | / |
κ³΅ν΅ |
| ν | /home |
κ³΅ν΅ |
| μνκΈ°λ‘ λͺ©λ‘ | /records |
κ³΅ν΅ |
| κΈ°λ‘ μμ± | /records/new |
보νΈμ, μ 곡μ |
| κΈ°λ‘ μμΈ | /records/:id |
κ³΅ν΅ |
| λλ΄μ 보 | /care-info |
κ³΅ν΅ |
| λ보기/λ§μ΄νμ΄μ§ | /more |
κ³΅ν΅ |
7. μλ¦Ό
| μμ μ | λ°μ‘ 쑰건 |
|---|---|
| λλ΄ λ³΄νΈμ | μ κΈ°λ‘ λ±λ‘λμ λ |
| λλ΄ λ³΄νΈμ | κΈ°μ‘΄ κΈ°λ‘ μμ λμ λ |
| λλ΄ λ³΄νΈμ | νλ μ§μμ¬κ° μμ μ μ μ μ‘νμ λ |
| λλ΄ λ³΄νΈμ | κΈ°κ΄μ΄ μ νλ μ§μμ¬λ₯Ό λ°°μ νμ λ |
| νλ μ§μμ¬ | κΈ°κ΄μ΄ λΉμ¬μμκ² λ°°μ νμ λ |
| νλ μ§μμ¬ | κΈ°κ΄μ΄ λμ νλ κΈ°λ‘ μμ± μμ²νμ λ |
| νλ μ§μμ¬ | 보νΈμκ° μμ μ μμ μΉμΈΒ·κ±°μ νμ λ |
| κΈ°κ΄ | νλ μ§μμ¬κ° μΆκ° μ 보 μμ²μ μ λ¬νμ λ |
8. λ―Έκ²° μ¬ν
| νλͺ© | μ§λ¬Έ | λ΄λΉ |
|---|---|---|
| κΈ°λ‘ μμ± κΆν | β λλ΄ μ 곡μλ μ§μ μμ± κ°λ₯. 보νΈμ μμ± κΈ°λ‘μ μμ μ μλ§ (M7) | ν μ 체 |
| κΈ°λ‘ μμ Β·μμ | μ μ₯λ κΈ°λ‘μ μμ /μμ ν μ μλκ°? μ΄λ ₯μ λ¨κΈ°λκ°? | ν μ 체 |
| λΉμ¬μ 볡μ λ±λ‘ | 보νΈμκ° μ¬λ¬ λΉμ¬μλ₯Ό λ±λ‘ν μ μλκ°? | ν μ 체 |
| μλ¦Ό | κΈ°λ‘ λ¦¬λ§μΈλ, μμ μ μ μλ¦Όμ΄ MVPμ ν¬ν¨λλκ°? | ν μ 체 |
| μ κ·Ό μ΄λ ₯ | μ΄λ μ΄λ ₯μ 보νΈμμκ² λ³΄μ¬μ£Όλκ°? | BE |