πŸ“ PRD: 업무 일정 기둝 타이머

1. μ œν’ˆ κ°œμš”


2. μ‚¬μš©μž μ‹œλ‚˜λ¦¬μ˜€ (User Flow)

  1. μž‘μ—… μ‹œμž‘: μ™Όμͺ½μ˜ β€˜μž‘μ—… 프리셋’을 ν΄λ¦­ν•˜κ±°λ‚˜ F8 단좕킀λ₯Ό 눌러 μƒˆ μž‘μ—…μ„ μƒμ„±ν•˜κ³  타이머λ₯Ό μ‹œμž‘ν•©λ‹ˆλ‹€.
  2. λͺ¨λ‹ˆν„°λ§: μƒλ‹¨μ˜ 일간 νƒ€μž„λΌμΈ(κ°„νŠΈ 차트)μ—μ„œ ν˜„μž¬ μ§„ν–‰ 쀑인 μž‘μ—…μ˜ 비쀑을 μ‹€μ‹œκ°„μœΌλ‘œ ν™•μΈν•©λ‹ˆλ‹€.
  3. μƒνƒœ λ³€κ²½: μž‘μ—… 쀑 νœ΄μ‹μ΄ ν•„μš”ν•˜λ©΄ β€˜μΌμ‹œμ •μ§€β€™λ₯Ό, μž‘μ—…μ΄ λλ‚˜λ©΄ β€˜μ™„λ£Œβ€™ λ²„νŠΌμ„ λˆ„λ¦…λ‹ˆλ‹€.
  4. μ‹œκ°„ μˆ˜μ •: κ°„νŠΈ 차트의 λ§‰λŒ€(Bar) μ–‘ 끝을 λ“œλž˜κ·Έν•˜μ—¬ μ‹€μ œ μž‘μ—… μ‹œκ°„κ³Ό 기둝된 μ‹œκ°„μ˜ 였차λ₯Ό μˆ˜μ •ν•©λ‹ˆλ‹€.
  5. 기둝 κ²€ν† : ν•˜λ‹¨μ˜ μž‘μ—… 기둝 λͺ©λ‘μ—μ„œ 였늘 ν•˜λ£¨μ˜ 총 μž‘μ—… μ‹œκ°„ 및 μΉ΄ν…Œκ³ λ¦¬λ³„ 톡계λ₯Ό ν™•μΈν•©λ‹ˆλ‹€.

3. 상세 κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­

3.1. 일간 νƒ€μž„λΌμΈ (Gantt Chart UI)

3.2. 타이머 및 기둝 둜직

3.3. μž‘μ—… μž…λ ₯ 및 프리셋


4. UI/UX κ°œμ„  및 참고사항


5. 데이터 ꡬ쑰 (Technical Considerations)

ν•„λ“œλͺ… 데이터 νƒ€μž… μ„€λͺ…
id UUID μž‘μ—… 고유 μ‹λ³„μž
project_code String ν”„λ‘œμ νŠΈ 관리 μ½”λ“œ (A24_… λ“±)
task_name String μž‘μ—…μ˜ 큰 제λͺ©
sub_task String 상세 거래처 λ˜λŠ” μ„ΈλΆ€ 업무λͺ…
category Enum 개발, 회의, λ¬Έμ„œ, 뢄석, 섀계 λ“±
sessions Array [{start, end}] ν˜•νƒœμ˜ μ‹€μ œ μž‘μ—… μ‹œκ°„ μ„Έκ·Έλ¨ΌνŠΈ
total_duration Number 총 μ†Œμš” μ‹œκ°„ (λΆ„ λ‹¨μœ„ 계산)
status String active, paused, completed, deleted
created_at Date 기둝 λ‚ μ§œ

πŸ’‘ Edge Case 및 μΆ”κ°€ 고렀사항

  1. μžμ •μ„ λ„˜κΈ°λŠ” μž‘μ—…: λ°€ 11μ‹œμ— μ‹œμž‘ν•΄ λ‹€μŒ λ‚  μƒˆλ²½ 1μ‹œμ— λλ‚˜λŠ” 경우, 데이터λ₯Ό μ–΄λ–»κ²Œ λΆ„ν• ν•˜μ—¬ 보여쀄 것인가? (일간 톡계 ν•©μ‚° 둜직)
  2. λΈŒλΌμš°μ € μ’…λ£Œ/μƒˆλ‘œκ³ μΉ¨: 타이머가 λŒμ•„κ°€λŠ” 쀑에 λΈŒλΌμš°μ €κ°€ κΊΌμ§€λ©΄ 기둝이 μ†μ‹€λ˜μ§€ μ•Šλ„λ‘ IndexedDB λ˜λŠ” LocalStorage에 μ‹€μ‹œκ°„ μžλ™ μ €μž₯(Autosave) 둜직이 ν•„μš”ν•©λ‹ˆλ‹€.
  3. λ™μ‹œ μ‹€ν–‰ λ°©μ§€: μ‹€μˆ˜λ‘œ 두 개 μ΄μƒμ˜ 타이머λ₯Ό λ™μ‹œμ— μ‹€ν–‰ν•  경우, κΈ°μ‘΄ 타이머λ₯Ό μžλ™μœΌλ‘œ μΌμ‹œμ •μ§€ μ‹œν‚¬ 것인지 μ•„λ‹ˆλ©΄ 병렬 기둝을 ν—ˆμš©ν•  것인지 결정이 ν•„μš”ν•©λ‹ˆλ‹€.
  4. μ˜€ν”„λΌμΈ λͺ¨λ“œ: λ„€νŠΈμ›Œν¬ 연결이 끊긴 μƒνƒœμ—μ„œλ„ 기둝이 κ°€λŠ₯ν•˜κ³ , λ‚˜μ€‘μ— μ„œλ²„μ™€ λ™κΈ°ν™”ν•˜λŠ” 둜직이 ν•„μš”ν•œκ°€μš”?

6. μ£Όκ°„ 일정 및 λ³΄κ³ μ„œ (Weekly Report)


7. κ±΄μ˜μ‚¬ν•­ κ²Œμ‹œνŒ (Feedback Board)


8. κ°œμΈν™” μ„€μ • 및 μ‹œμŠ€ν…œ 관리 (Settings)


9. UI/UX 및 λͺ¨λ°”일 λ°˜μ‘ν˜• μš”κ΅¬μ‚¬ν•­


10. 기술적 고렀사항 (μ—…λ°μ΄νŠΈ)


πŸ’‘ μΆ”κ°€ 고렀사항 및 질문 (Edge Cases)

  1. 데이터 좩돌 및 동기화: 둜컬 μŠ€ν† λ¦¬μ§€ 기반일 λ•Œ, μ—¬λŸ¬ λΈŒλΌμš°μ €λ‚˜ κΈ°κΈ°μ—μ„œ λ™μ‹œμ— 접속할 경우 데이터 동기화λ₯Ό μ–΄λ–»κ²Œ μ²˜λ¦¬ν•  κ²ƒμΈκ°€μš”? (Firebase 등을 ν™œμš©ν•œ μ‹€μ‹œκ°„ 동기화 κ³ λ € μ—¬λΆ€)
  2. κ²Œμ‹œνŒ λ³΄μ•ˆ: 읡λͺ… κ²Œμ‹œνŒμ˜ 경우 μŠ€νŒΈμ΄λ‚˜ λΆ€μ μ ˆν•œ κ²Œμ‹œκΈ€μ„ ν•„ν„°λ§ν•˜κΈ° μœ„ν•œ μ΅œμ†Œν•œμ˜ λ°©μ–΄ 기제(예: CAPTCHA, κΈˆμΉ™μ–΄ μ„€μ •)κ°€ ν•„μš”ν•œκ°€μš”?
  3. λ‹€κ΅­μ–΄ 지원: ν˜„μž¬λŠ” ν•œκ΅­μ–΄ μ€‘μ‹¬μ΄λ‚˜, ν–₯ν›„ κΈ€λ‘œλ²Œ μ‚¬μš©μžλ₯Ό μœ„ν•΄ μ–Έμ–΄ 섀정을 뢄리할 κ³„νšμ΄ μžˆμœΌμ‹ κ°€μš”?
  4. λ°±μ—… μ•Œλ¦Ό κΈ°μ€€: 둜컬 μŠ€ν† λ¦¬μ§€ μš©λŸ‰μ˜ λͺ‡ % 이상 μ‚¬μš© μ‹œ μ‚¬μš©μžμ—κ²Œ DB μ „ν™˜ ꢌ고 μ•Œλ¦Όμ„ λ„μšΈ 것인지에 λŒ€ν•œ κΈ°μ€€ 섀정이 ν•„μš”ν•©λ‹ˆλ‹€.