Planning Phase

Context

Context-driven development์˜ 1๋‹จ๊ณ„: ๊ตฌํ˜„ ์ „ ํ•„์š”ํ•œ ์ •๋ณด ์ˆ˜์ง‘ ๋ฐ ๊ฒ€์ฆ

์ ์šฉ ์กฐ๊ฑด: 004-she-context-driven-development์˜ Phase 1 ์ƒํƒœ์ผ ๋•Œ

ํ•ต์‹ฌ ์›์น™

Context ์šฐ์„  ์ˆœ์œ„ (Top-down ๋ฐฉ์‹)

ํฐ ๊ทธ๋ฆผ์—์„œ ์„ธ๋ถ€ ์‚ฌํ•ญ์œผ๋กœ ์ง„ํ–‰

  1. ํ•„์ˆ˜ (Must): ์š”๊ตฌ์‚ฌํ•ญ, ํŽ˜์ด์ง€/์ปดํฌ๋„ŒํŠธ ๋งคํ•‘, ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

  2. ์ค‘์š” (Should): ์ƒํƒœ ๊ด€๋ฆฌ, ๋™์ž‘ ํ”„๋กœ์„ธ์Šค

  3. ์„ ํƒ (Could): UI ์„ธ๋ถ€์‚ฌํ•ญ, ์ตœ์ ํ™”

Context ์ˆ˜์ง‘ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

1. ์š”๊ตฌ์‚ฌํ•ญ ๊ฒ€ํ† 

  • [ ] ์ž‘์—… ์œ ํ˜• ํŒŒ์•… (Bugfix / Feature / Enhancement)

  • [ ] ๋„๋ฉ”์ธ ์ง€์‹ ๋ฐ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ดํ•ด

  • [ ] ์˜ํ–ฅ๋„ ๋ฐ ์šฐ์„ ์ˆœ์œ„ ํŒŒ์•…

  • [ ] ๊ธฐ์ˆ ์ /๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ ํ™•์ธ

  • [ ] ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์€ Page/Component ์š”์ฒญ (์š”๊ตฌ์‚ฌํ•ญ๊ณผ ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ ํ˜น์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ)

2. Page & Component ๋งคํ•‘

  • [ ] ์˜ํ–ฅ๋ฐ›๋Š” URL/Route ํ™•์ธ (Next.js์˜ ๊ฒฝ์šฐ Url์„ ๋ณด๊ณ  Page๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Œ, ์—†์„ ๊ฒฝ์šฐ component ํ™•์ธ ์š”์ฒญ)

  • [ ] ๊ด€๋ จ Component ๊ณ„์ธต ๊ตฌ์กฐ ํŒŒ์•…

  • [ ] Component ๊ฐ„ ์˜์กด์„ฑ ๋ถ„์„

  • [ ] ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ Component ํ™•์ธ

  • [ ] ์‹ค์ œ ๊ฐœ์„  ํ•„์š”ํ•œ Component ํ™•์ธ

3. ์ƒํƒœ ๊ด€๋ฆฌ ๋ถ„์„

  • [ ] Local State (useState) ํŒŒ์•…

  • [ ] Global State (Store) ์—ฐ๊ฒฐ ํ™•์ธ

  • [ ] Server State (API ์ƒํƒœ) ํ™•์ธ

  • [ ] State ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ Side Effect ํŒŒ์•…

4. ๋™์ž‘ ํ”„๋กœ์„ธ์Šค ๊ตฌ์ฒดํ™”

  • [ ] User Interaction Flow ์ •์˜

  • [ ] Event Handler ์‹œํ€ธ์Šค ์ •๋ฆฌ

  • [ ] API ํ˜ธ์ถœ ์ˆœ์„œ ๋ฐ ์กฐ๊ฑด ํ™•์ธ

  • [ ] Error/Loading ์ƒํƒœ ์ฒ˜๋ฆฌ ๊ณ„ํš

5. ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ํ™•์ธ

  • [ ] Request/Response Schema ํ™•์ธ

  • [ ] Data Type ๋ฐ Interface ์ •์˜ ํ•„์š”์‚ฌํ•ญ

  • [ ] Validation Rule ํ™•์ธ

  • [ ] ํ‘œ์ค€ ํƒ€์ž… ์กด์žฌ ์—ฌ๋ถ€ ํ™•์ธ

๊ตฌํ˜„ ์ค€๋น„ ์™„๋ฃŒ ๊ธฐ์ค€

Context๊ฐ€ ์™„๋ฃŒ๋˜์ง€ ์•Š์œผ๋ฉด ๊ณ„์† ์ง„ํ–‰

์ง„ํ–‰ ๊ฐ€๋Šฅ

  • ํ•„์ˆ˜ ํ•ญ๋ชฉ(1,2,5) 100% ์™„๋ฃŒ

  • ์ค‘์š” ํ•ญ๋ชฉ (3,4) 80% ์ด์ƒ ์™„๋ฃŒ

  • ๋ชจ๋“  Edge Case ์‹๋ณ„ ์™„๋ฃŒ

  • ๋ช…ํ™•ํ•œ ๊ตฌํ˜„ ๊ณ„ํš ์ˆ˜๋ฆฝ

๋” ์กฐ์‚ฌ ํ•„์š”

  • ํ•„์ˆ˜ ํ•ญ๋ชฉ ๋ฏธ์™„๋ฃŒ

  • ํ•ต์‹ฌ ๋กœ์ง ๋ถˆ๋ช…ํ™•

  • ๊ธฐ์ˆ ์  ์˜์กด์„ฑ ๋ฏธํŒŒ์•…

  • ์‚ฌ์šฉ์ž ์š”๊ตฌ์‚ฌํ•ญ ๋ชจํ˜ธ

Context ์ •๋ฆฌ ํ…œํ”Œ๋ฆฟ
## Context Summary
**๋„๋ฉ”์ธ**: [safety/health/environment/management/etc]
**์ž‘์—… ์œ ํ˜•**: [Bugfix/Feature/Enhancement]
**ํ•ต์‹ฌ ๊ธฐ๋Šฅ**: [๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ฐ„๋‹จ ์„ค๋ช…]

**Page & Component ๋งคํ•‘**:
- ํŽ˜์ด์ง€: [src/app/[locale]/(route)/...๊ฒฝ๋กœ]
- ์ฃผ์š” ์ปดํฌ๋„ŒํŠธ: [domains/[domain]/components/...]
- ์žฌ์‚ฌ์šฉ ์ปดํฌ๋„ŒํŠธ: [components/common/... Ehsms components/complex/...]

**์ƒํƒœ ๊ด€๋ฆฌ**:
- Local State: [useState ์‚ฌ์šฉ ๋ถ€๋ถ„]
- Global States: [domains/[domain]/store/...]
- Server State: [domains/[domain]/service/...]

**๋™์ž‘ ํ”„๋กœ์„ธ์Šค**:
1. [์‚ฌ์šฉ์ž ์•ก์…˜ 1] โ†’ [Event Handler] โ†’ [API ํ˜ธ์ถœ/State ๋ณ€๊ฒฝ]
2. [์‚ฌ์šฉ์ž ์•ก์…˜ 2] โ†’ [Event Handler] โ†’ [๊ฒฐ๊ณผ ์ฒ˜๋ฆฌ]
3. [์™„๋ฃŒ/์—๋Ÿฌ ์ฒ˜๋ฆฌ]

**๋ฐ์ดํ„ฐ ๊ตฌ์กฐ**: 
- Request: [API ์š”์ฒญ ์Šคํ‚ค๋งˆ]
- Response: [API ์‘๋‹ต ์Šคํ‚ค๋งˆ]
- Types: [domains/[domain]/types/... ๋˜๋Š” types/...]

**์ค€๋น„ ์ƒํƒœ**: [โœ… ๊ตฌํ˜„ ๊ฐ€๋Šฅ / โŒ ๋” ์กฐ์‚ฌ ํ•„์š”]
**๋ฏธํ•ด๊ฒฐ ์ด์Šˆ**: [์žˆ๋‹ค๋ฉด ๋‚˜์—ด]

๋‹ค์Œ ๋‹จ๊ณ„ ์ง„ํ–‰ ์กฐ๊ฑด

Planning ๋‹จ๊ณ„ ์™„๋ฃŒ ํ›„

  • โœ… ๊ตฌํ˜„ ๊ฐ€๋Šฅ ์ƒํƒœ โ†’ ๋ช…์‹œ์  ํŠธ๋ฆฌ๊ฑฐ โ†’ 004 ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์ด 1002-she-context-act.mdc ํ˜ธ์ถœ

  • โŒ ๋” ์กฐ์‚ฌ ํ•„์š” โ†’ ๋ถ€์กฑํ•œ Context ์ถ”๊ฐ€ ์ˆ˜์ง‘ ํ›„ ์žฌํ‰๊ฐ€

Planning ํ•ต์‹ฌ ์›์น™

๋ชฉ์ : ์ „์ฒด ๊ทธ๋ฆผ ์ดํ•ด โ†’ ์„ธ๋ถ€์‚ฌํ•ญ ํŒŒ์•…

์‚ฐ์ถœ๋ฌผ: ๋ช…ํ™•ํ•œ ๊ตฌํ˜„ ๊ณ„ํš

์ฒดํฌํฌ์ธํŠธ: ๋ชจ๋“  Edge Case ์‹๋ณ„

  • Plan ๋‹จ๊ณ„๋Š” ๊ธฐํš ๋‹จ๊ณ„๋กœ์„œ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์š”์ฒญํ•˜๋Š” ๊ฐœ๋ฐœ์š”์ฒญ์„œ๋ฅผ ์ž์„ธํ•˜๊ฒŒ ์“ฐ๋Š” ๋‹จ๊ณ„๋‹ค.

Last updated