# ๐Ÿ“š ํ”„๋กœ์ ํŠธ ๋ฌธ์„œ ๊ตฌ์กฐ ๋ฐ ์ธ๋ฑ์Šค > **ํ”„๋กœ์ ํŠธ**: Next.js 15 + Laravel ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•„ํ‚คํ…์ฒ˜ > **ํ”„๋ก ํŠธ์—”๋“œ**: Next.js 15 App Router + React 19 > **๋ฐฑ์—”๋“œ**: PHP Laravel > **์ž‘์„ฑ์ผ**: 2025-11-17 > **๋ชฉ์ **: ํ”„๋กœ์ ํŠธ ๋ฌธ์„œ ์•„์นด์ด๋ธŒ ๋ฐ ๋น ๋ฅธ ์ฐธ์กฐ --- ## ๐Ÿ“– ๋ฌธ์„œ ๋ถ„๋ฅ˜ ์ฒด๊ณ„ ### 1. [GUIDE] - ๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ ์‹œ ์ฐธ๊ณ ํ•ด์•ผ ํ•  ํ‘œ์ค€ ์›Œํฌํ”Œ๋กœ์šฐ ๋ฐ ๊ฐ€์ด๋“œ ๋ฌธ์„œ ### 2. [IMPL-YYYY-MM-DD] - ๊ตฌํ˜„ ๊ธฐ๋ก ํŠน์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๊ณผ์ •๊ณผ ๊ฒฐ๊ณผ๋ฅผ ์‹œ๊ฐ„์ˆœ์œผ๋กœ ๊ธฐ๋กํ•œ ๋ฌธ์„œ ### 3. [REF] - ์ฐธ๊ณ  ์ž๋ฃŒ ์•„ํ‚คํ…์ฒ˜ ๋ถ„์„, ๋ฆฌ์„œ์น˜ ๊ฒฐ๊ณผ, API ์š”๊ตฌ์‚ฌํ•ญ ๋“ฑ ์ฐธ๊ณ ์šฉ ๋ฌธ์„œ ### 4. [PLAN] - ๋ฏธ๋ž˜ ๊ณ„ํš ํ–ฅํ›„ ๊ตฌํ˜„ ์˜ˆ์ •์ด๊ฑฐ๋‚˜ ๊ฒ€ํ†  ์ค‘์ธ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊ณ„ํš ๋ฌธ์„œ ### 5. [LEGACY] - ๋ ˆ๊ฑฐ์‹œ ๋ฌธ์„œ ๊ณผ๊ฑฐ ์„ค๊ณ„์•ˆ์ด๋‚˜ ํ๊ธฐ๋œ ์ ‘๊ทผ ๋ฐฉ๋ฒ•์„ ๊ธฐ๋กํ•œ ๋ฌธ์„œ --- ## ๐Ÿ“‚ [GUIDE] ๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ (4๊ฐœ) ### CSS ๋ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ | ํŒŒ์ผ๋ช… | ๋ชฉ์  | ์ฃผ์š” ๋‚ด์šฉ | |--------|------|-----------| | `[GUIDE] CSS-MIGRATION-WORKFLOW.md` | React โ†’ Next.js CSS ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ‘œ์ค€ ํ”„๋กœ์„ธ์Šค | ํŽ˜์ด์ง€๋ณ„ CSS ๋น„๊ต/๋™๊ธฐํ™” ์›Œํฌํ”Œ๋กœ์šฐ, ์ฒดํฌ๋ฆฌ์ŠคํŠธ ๊ธฐ๋ฐ˜ ๊ตฌํ˜„ | | `[GUIDE] LARGE-FILE-WORKFLOW.md` | ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ(>1000์ค„) ์ž‘์—… ํ”„๋กœํ† ์ฝœ | ์„น์…˜๋ณ„ ๋ถ„ํ•ด ์ „๋žต, ์ฒด๊ณ„์  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ฐฉ๋ฒ•๋ก  | ### ์‹œ์Šคํ…œ ์„ค๊ณ„ | ํŒŒ์ผ๋ช… | ๋ชฉ์  | ์ฃผ์š” ๋‚ด์šฉ | |--------|------|-----------| | `[GUIDE] ITEM-MANAGEMENT-MIGRATION.md` | ํ’ˆ๋ชฉ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ | ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•„ํ‚คํ…์ฒ˜, ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ, API ์—ฐ๋™ ์ „๋žต | ### ๊ธฐ์ˆ  ๋ฌธ์ œ ํ•ด๊ฒฐ | ํŒŒ์ผ๋ช… | ๋ชฉ์  | ์ฃผ์š” ๋‚ด์šฉ | |--------|------|-----------| | `[GUIDE] ZOD-VALIDATION-TROUBLESHOOTING.md` | Zod ๊ฒ€์ฆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฌธ์ œ ํ•ด๊ฒฐ | ์˜์–ด ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋ฌธ์ œ, z.preprocess ํŒจํ„ด, ํ•„์ˆ˜ ํ•„๋“œ ์ฒ˜๋ฆฌ | --- ## ๐Ÿ› ๏ธ [IMPL] ๊ตฌํ˜„ ๊ธฐ๋ก (25๊ฐœ) ### 2025-11-06 (1๊ฐœ) | ํŒŒ์ผ๋ช… | ๊ตฌํ˜„ ๋‚ด์šฉ | |--------|-----------| | `[IMPL-2025-11-06] i18n-usage-guide.md` | ๋‹ค๊ตญ์–ด(i18n) ์‹œ์Šคํ…œ ๊ตฌํ˜„ | ### 2025-11-07 (7๊ฐœ) | ํŒŒ์ผ๋ช… | ๊ตฌํ˜„ ๋‚ด์šฉ | |--------|-----------| | `[IMPL-2025-11-07] api-key-management.md` | API ํ‚ค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ | | `[IMPL-2025-11-07] auth-guard-usage.md` | ์ธ์ฆ ๊ฐ€๋“œ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• | | `[IMPL-2025-11-07] authentication-implementation-guide.md` | ์ธ์ฆ ์‹œ์Šคํ…œ ๊ตฌํ˜„ ๊ฐ€์ด๋“œ | | `[IMPL-2025-11-07] form-validation-guide.md` | ํผ ๊ฒ€์ฆ ์‹œ์Šคํ…œ | | `[IMPL-2025-11-07] jwt-cookie-authentication-final.md` | JWT ์ฟ ํ‚ค ์ธ์ฆ ์ตœ์ข… ๊ตฌํ˜„ | | `[IMPL-2025-11-07] middleware-issue-resolution.md` | ๋ฏธ๋“ค์›จ์–ด ์ด์Šˆ ํ•ด๊ฒฐ | | `[IMPL-2025-11-07] route-protection-architecture.md` | ๋ผ์šฐํŠธ ๋ณดํ˜ธ ์•„ํ‚คํ…์ฒ˜ | | `[IMPL-2025-11-07] seo-bot-blocking-configuration.md` | SEO ๋ด‡ ์ฐจ๋‹จ ์„ค์ • | ### 2025-11-10 (2๊ฐœ) | ํŒŒ์ผ๋ช… | ๊ตฌํ˜„ ๋‚ด์šฉ | |--------|-----------| | `[IMPL-2025-11-10] dashboard-integration-complete.md` | ๋Œ€์‹œ๋ณด๋“œ ํ†ตํ•ฉ ์™„๋ฃŒ | | `[IMPL-2025-11-10] token-management-guide.md` | ํ† ํฐ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ | ### 2025-11-11 (5๊ฐœ) | ํŒŒ์ผ๋ช… | ๊ตฌํ˜„ ๋‚ด์šฉ | |--------|-----------| | `[IMPL-2025-11-11] api-route-type-safety.md` | API ๋ผ์šฐํŠธ ํƒ€์ž… ์•ˆ์ „์„ฑ | | `[IMPL-2025-11-11] chart-warning-fix.md` | ์ฐจํŠธ ๊ฒฝ๊ณ  ์ˆ˜์ • | | `[IMPL-2025-11-11] dashboard-cleanup-summary.md` | ๋Œ€์‹œ๋ณด๋“œ ์ •๋ฆฌ ์š”์•ฝ | | `[IMPL-2025-11-11] error-pages-configuration.md` | ์—๋Ÿฌ ํŽ˜์ด์ง€ ์„ค์ • | | `[IMPL-2025-11-11] sidebar-active-menu-sync.md` | ์‚ฌ์ด๋“œ๋ฐ” ํ™œ์„ฑ ๋ฉ”๋‰ด ๋™๊ธฐํ™” | ### 2025-11-12 (1๊ฐœ) | ํŒŒ์ผ๋ช… | ๊ตฌํ˜„ ๋‚ด์šฉ | |--------|-----------| | `[IMPL-2025-11-12] modal-select-layout-shift-fix.md` | ๋ชจ๋‹ฌ Select ๋ ˆ์ด์•„์›ƒ ์‹œํ”„ํŠธ ์ˆ˜์ • | ### 2025-11-13 (3๊ฐœ) | ํŒŒ์ผ๋ช… | ๊ตฌํ˜„ ๋‚ด์šฉ | |--------|-----------| | `[IMPL-2025-11-13] browser-support-policy.md` | ๋ธŒ๋ผ์šฐ์ € ์ง€์› ์ •์ฑ… | | `[IMPL-2025-11-13] safari-cookie-compatibility.md` | Safari ์ฟ ํ‚ค ํ˜ธํ™˜์„ฑ | | `[IMPL-2025-11-13] sidebar-scroll-improvements.md` | ์‚ฌ์ด๋“œ๋ฐ” ์Šคํฌ๋กค ๊ฐœ์„  | ### 2025-11-17 (1๊ฐœ) | ํŒŒ์ผ๋ช… | ๊ตฌํ˜„ ๋‚ด์šฉ | |--------|-----------| | `[IMPL-2025-11-17] item-list-css-sync.md` | ํ’ˆ๋ชฉ ๋ฆฌ์ŠคํŠธ CSS ๋™๊ธฐํ™” | --- ## ๐Ÿ“‹ [REF] ์ฐธ๊ณ  ์ž๋ฃŒ (14๊ฐœ) ### ํ”„๋กœ์ ํŠธ ์ปจํ…์ŠคํŠธ | ํŒŒ์ผ๋ช… | ๋‚ด์šฉ | |--------|------| | `[REF] project-context.md` | ํ”„๋กœ์ ํŠธ ์ „์ฒด ์ปจํ…์ŠคํŠธ ๋ฐ ์•„ํ‚คํ…์ฒ˜ ๊ฐœ์š” | | `[REF] architecture-integration-risks.md` | ์•„ํ‚คํ…์ฒ˜ ํ†ตํ•ฉ ๋ฆฌ์Šคํฌ ๋ถ„์„ | | `[REF] code-quality-report.md` | ์ฝ”๋“œ ํ’ˆ์งˆ ๋ฆฌํฌํŠธ | | `[REF] communication_improvement_guide.md` | ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๊ฐœ์„  ๊ฐ€์ด๋“œ | ### API ๋ฐ ๋ฐฑ์—”๋“œ | ํŒŒ์ผ๋ช… | ๋‚ด์šฉ | |--------|------| | `[REF] api-requirements.md` | API ์š”๊ตฌ์‚ฌํ•ญ (์ผ๋ฐ˜) | | `[REF] api-requirements-items.md` | ํ’ˆ๋ชฉ๊ด€๋ฆฌ API ์š”๊ตฌ์‚ฌํ•ญ | | `[REF] api-analysis.md` | API ๋ถ„์„ | ### ์ธ์ฆ ๋ฐ ๋ณด์•ˆ ๋ฆฌ์„œ์น˜ | ํŒŒ์ผ๋ช… | ๋‚ด์šฉ | |--------|------| | `[REF] nextjs15-middleware-authentication-research.md` | Next.js 15 ๋ฏธ๋“ค์›จ์–ด ์ธ์ฆ ๋ฆฌ์„œ์น˜ | | `[REF] token-security-nextjs15-research.md` | ํ† ํฐ ๋ณด์•ˆ ๋ฆฌ์„œ์น˜ | ### ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ฐ ์„ธ์…˜ ๊ด€๋ฆฌ | ํŒŒ์ผ๋ช… | ๋‚ด์šฉ | |--------|------| | `[REF] dashboard-migration-summary.md` | ๋Œ€์‹œ๋ณด๋“œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์š”์•ฝ | | `[REF] session-migration-backend.md` | ์„ธ์…˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ (๋ฐฑ์—”๋“œ) | | `[REF] session-migration-frontend.md` | ์„ธ์…˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ (ํ”„๋ก ํŠธ์—”๋“œ) | | `[REF] session-migration-summary.md` | ์„ธ์…˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์š”์•ฝ | ### ์ปดํฌ๋„ŒํŠธ ๋ฐ ๋ฐฐํฌ | ํŒŒ์ผ๋ช… | ๋‚ด์šฉ | |--------|------| | `[REF] component-usage-analysis.md` | ์ปดํฌ๋„ŒํŠธ ์‚ฌ์šฉ ๋ถ„์„ | | `[REF] nextjs-error-handling-guide.md` | Next.js ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ฐ€์ด๋“œ | | `[REF] production-deployment-checklist.md` | ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ ์ฒดํฌ๋ฆฌ์ŠคํŠธ | --- ## ๐Ÿš€ [PLAN] ๋ฏธ๋ž˜ ๊ณ„ํš (1๊ฐœ) | ํŒŒ์ผ๋ช… | ๊ณ„ํš ๋‚ด์šฉ | |--------|-----------| | `[PLAN] httponly-cookie-implementation.md` | HttpOnly ์ฟ ํ‚ค ๊ตฌํ˜„ ๊ณ„ํš | --- ## ๐Ÿ“œ [LEGACY] ๋ ˆ๊ฑฐ์‹œ ๋ฌธ์„œ (1๊ฐœ) | ํŒŒ์ผ๋ช… | ๋‚ด์šฉ | |--------|------| | `[LEGACY] authentication-design.md` | ์ดˆ๊ธฐ ์ธ์ฆ ์‹œ์Šคํ…œ ์„ค๊ณ„์•ˆ (ํ๊ธฐ) | --- ## ๐Ÿ” ๋น ๋ฅธ ๊ฒ€์ƒ‰ ๊ฐ€์ด๋“œ ### ์ƒํ™ฉ๋ณ„ ๋ฌธ์„œ ์ฐพ๊ธฐ #### 1. React โ†’ Next.js ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ž‘์—… ์‹œ ``` [GUIDE] CSS-MIGRATION-WORKFLOW.md # CSS ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ‘œ์ค€ ํ”„๋กœ์„ธ์Šค [GUIDE] LARGE-FILE-WORKFLOW.md # ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ์ž‘์—… ๋ฐฉ๋ฒ• [GUIDE] ITEM-MANAGEMENT-MIGRATION.md # ํ’ˆ๋ชฉ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ์ „์ฒด ์„ค๊ณ„ ``` #### 2. ํ’ˆ๋ชฉ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ์‹œ ``` [REF] api-requirements-items.md # ๋ฐฑ์—”๋“œ API ์š”๊ตฌ์‚ฌํ•ญ [GUIDE] ITEM-MANAGEMENT-MIGRATION.md # ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜ ๋ฐ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ [IMPL-2025-11-17] item-list-css-sync.md # ํ’ˆ๋ชฉ ๋ฆฌ์ŠคํŠธ CSS ๋™๊ธฐํ™” ๊ตฌํ˜„ ``` #### 3. ์ธ์ฆ/๋ณด์•ˆ ๊ด€๋ จ ์ž‘์—… ์‹œ ``` [IMPL-2025-11-07] jwt-cookie-authentication-final.md # JWT ์ฟ ํ‚ค ์ธ์ฆ ๊ตฌํ˜„ [IMPL-2025-11-07] route-protection-architecture.md # ๋ผ์šฐํŠธ ๋ณดํ˜ธ [REF] token-security-nextjs15-research.md # ํ† ํฐ ๋ณด์•ˆ ๋ฆฌ์„œ์น˜ ``` #### 4. ํผ ๊ฒ€์ฆ ๋ฌธ์ œ ํ•ด๊ฒฐ ์‹œ ``` [GUIDE] ZOD-VALIDATION-TROUBLESHOOTING.md # Zod ๊ฒ€์ฆ ๋ฌธ์ œ ํ•ด๊ฒฐ [IMPL-2025-11-07] form-validation-guide.md # ํผ ๊ฒ€์ฆ ๊ตฌํ˜„ ๊ฐ€์ด๋“œ ``` #### 5. UI/UX ์ด์Šˆ ํ•ด๊ฒฐ ์‹œ ``` [IMPL-2025-11-12] modal-select-layout-shift-fix.md # ๋ชจ๋‹ฌ ๋ ˆ์ด์•„์›ƒ ์‹œํ”„ํŠธ [IMPL-2025-11-13] safari-cookie-compatibility.md # Safari ํ˜ธํ™˜์„ฑ [IMPL-2025-11-13] sidebar-scroll-improvements.md # ์‚ฌ์ด๋“œ๋ฐ” ์Šคํฌ๋กค ``` #### 6. ๋ฐฐํฌ ์ค€๋น„ ์‹œ ``` [REF] production-deployment-checklist.md # ๋ฐฐํฌ ์ฒดํฌ๋ฆฌ์ŠคํŠธ [IMPL-2025-11-13] browser-support-policy.md # ๋ธŒ๋ผ์šฐ์ € ์ง€์› ์ •์ฑ… [REF] code-quality-report.md # ์ฝ”๋“œ ํ’ˆ์งˆ ๋ฆฌํฌํŠธ ``` --- ## ๐Ÿ“Š ๋ฌธ์„œ ํ†ต๊ณ„ | ์นดํ…Œ๊ณ ๋ฆฌ | ๋ฌธ์„œ ์ˆ˜ | ๋น„์œจ | |----------|---------|------| | [GUIDE] | 4 | 8.7% | | [IMPL] | 25 | 54.3% | | [REF] | 14 | 30.4% | | [PLAN] | 1 | 2.2% | | [LEGACY] | 1 | 2.2% | | [INDEX] | 1 | 2.2% | | **ํ•ฉ๊ณ„** | **46** | **100%** | --- ## ๐ŸŽฏ ๋ฌธ์„œ ์ž‘์„ฑ ์›์น™ ### 1. ๋ช…๋ช… ๊ทœ์น™ - **[GUIDE]**: ๋Œ€๋ฌธ์ž, ํ•˜์ดํ”ˆ์œผ๋กœ ๋‹จ์–ด ๊ตฌ๋ถ„ - **[IMPL-YYYY-MM-DD]**: ๊ตฌํ˜„ ๋‚ ์งœ ํฌํ•จ, ์†Œ๋ฌธ์ž, ํ•˜์ดํ”ˆ ๊ตฌ๋ถ„ - **[REF]**: ์†Œ๋ฌธ์ž, ํ•˜์ดํ”ˆ ๊ตฌ๋ถ„ ### 2. ๋ฌธ์„œ ๊ตฌ์กฐ - ๋ช…ํ™•ํ•œ ๋ชฉ์ฐจ - ์ฝ”๋“œ ์˜ˆ์ œ ํฌํ•จ - ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ช…๋ น์–ด - ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ์„น์…˜ ### 3. ์œ ์ง€๋ณด์ˆ˜ - ๊ตฌํ˜„ ์™„๋ฃŒ ์‹œ ์ฆ‰์‹œ [IMPL] ๋ฌธ์„œ ์ž‘์„ฑ - ์›Œํฌํ”Œ๋กœ์šฐ ๊ฐœ์„  ์‹œ [GUIDE] ์—…๋ฐ์ดํŠธ - ๋ ˆ๊ฑฐ์‹œ ๋ฌธ์„œ๋Š” [LEGACY]๋กœ ์ด๋™, ์‚ญ์ œ ๊ธˆ์ง€ --- ## ๐Ÿ“ ๋ฌธ์„œ ์—…๋ฐ์ดํŠธ ์ด๋ ฅ | ๋‚ ์งœ | ๋ณ€๊ฒฝ ๋‚ด์šฉ | |------|-----------| | 2025-11-17 | ์ดˆ๊ธฐ ์ธ๋ฑ์Šค ๋ฌธ์„œ ์ž‘์„ฑ | | 2025-11-17 | ๋ชจ๋“  ๋ฌธ์„œ ๋ช…๋ช… ๊ทœ์น™ ํ†ต์ผ | --- ## ๐Ÿ”— ๊ด€๋ จ ๋ฆฌ์†Œ์Šค - **ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ**: `/Users/byeongcheolryu/codebridgex/sam_project/sam-next/sma-next-project/sam-react-prod` - **๋ฌธ์„œ ๋””๋ ‰ํ† ๋ฆฌ**: `claudedocs/` - **React ์†Œ์Šค**: `sma-react-v2.0/` - **Next.js ์†Œ์Šค**: `src/` --- **๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ**: 2025-11-17 **๋ฌธ์„œ ๋ฒ„์ „**: 1.0.0 **๊ด€๋ฆฌ์ž**: Claude + Development Team