2.6 KiB
2.6 KiB
id: FE-ARCH-STRUCT-001 category: "10_Wiki/💡 Topics/AI" confidence_score: 1.0 tags: Frontend, Architecture, folder-structure, Scalability, 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, Atomic-Styling-and-Design Systems, Clean-Code-Principles, Modular-Monolith
- Raw Source: 00_Raw/Frontend Folder Structure.md