--- id: FE-ARCH-STRUCT-001 category: Unified confidence_score: 1.0 tags: [[Frontend|[Frontend]], [[Architecture|Architecture]], folder-structure, [[Scalability|Scalability]], [[Modularity|Modularity]], atomic-design, clean-architecture] last_reinforced: 2026-04-26 --- # Frontend Architecture and Folder Structure (프런트엔드 아키텍처 및 폴더 구조) ## 📌 한 줄 통찰 (The Karpathy Summary) > "파일이 어디에 있는지 고민하는 시간을 제로로 만들고, 프로젝트 규모가 커져도 복잡도가 선형적으로 유지되도록 관심사 분리(SoC)에 기반한 물리적/논리적 영토를 명확히 획정하라" — 확장성과 협업 효율을 결정짓는 프런트엔드 프로젝트의 설계 지도. ## 📖 구조화된 지식 (Synthesized Content) - **추출된 패턴:** "Domain-Driven and Feature-Encapsulated Structuring" — 공통 컴포넌트 중심의 구조에서 벗어나, 기능(Feature)이나 도메인 단위로 관련 로직(Hooks, Components, Types, Utils)을 응집시키는 패턴. - **표준 폴더 구조 아키텍처:** - **`/src/components`:** 여러 곳에서 재사용되는 범용 UI 원자(Buttons, Inputs). - **`/src/features`:** 특정 비즈니스 기능(Auth, Cart, Profile) 단위로 캡슐화된 폴더. 각 폴더 내에 해당 기능 전용 자산 포함. - **`/src/hooks`:** 범용 커스텀 훅들. - **`/src/pages` / `/src/app`:** 라우팅 진입점 및 페이지 레이아웃. - **`/src/assets` & `/src/styles`:** 이미지, 폰트 및 전역 CSS 설정. - **의의:** 의존성 방향을 명확히 하여 코드 변경의 파급 효과를 제한하고, 새로운 팀원이 프로젝트에 빠르게 적응할 수 있는 높은 관측성을 제공함. ## ⚠️ 모순 및 업데이트 (Contradictions & RL Update) - **과거 데이터와의 충돌:** 과거에는 `components`, `containers`, `actions`, `reducers` 등 기술적 계층으로 폴더를 나누었으나(Layered Architecture), 현대 정책은 관련 있는 기능을 한곳에 모으는 '도메인/피처 중심 정책'으로 전환됨. - **정책 변화:** Antigravity 프로젝트는 모든 저장소에 대해 'Feature-first' 폴더 구조를 강제하며, 각 피처 폴더 밖으로 유출되는 의존성은 엄격히 검토되는 'Strict Encapsulation' 정책을 고수함. ## 🔗 지식 연결 (Graph) - Scalable-[[Frontend-Architecture|Frontend-Architecture]], Atomic-Styling-and-[[Design Systems|Design-Systems]], [[Clean-Code-Principles|Clean-Code-Principles]], Modular-Monolith - **Raw Source:** 00_Raw/Frontend Folder Structure.md