FSD(Feature-Sliced Design)는 기능 중심의 모듈화된 구조로, 애플리케이션을 유지보수성과 확장성이 높은 방식으로 조직화하는 설계 방법론이다.
공식 문서로 살펴보고, chatGPT와 토론을 하고 나서 이해한 대로 간단히 정리하자면
실제도 폴더 구조를 보면 다음과 같다.
src/
├── app/
│ ├── (routes)/
│ │ ├── .../
│ │ │ └── page.tsx
│ └── layout.tsx
│
├── widgets/
│ ├── .../
│
├── features/
│ ├── .../
│ │ ├── model.ts
│ │ ├── ui/
│ │ └── lib/
│
├── entities/
│ ├── .../
│ │ ├── model.ts
│ │ ├── ui/
│ │ └── lib/
│
├── shared/
│ ├── api/
│ ├── ui/
│ ├── lib/
│ └── config.ts
좋은 폴더 구조는 좋지만, 이것도 꼭 정답은 아니다.
고민은 좋지만, 여기에 너무 많은 시간을 들이는 것도 별로다.
끝!