Skip to content

Commit 3912d0c

Browse files
committed
feat: FSD 구조 적용 및 Zustand 도입으로 Basic 과제 완료
1 parent 401c59e commit 3912d0c

File tree

5 files changed

+482
-386
lines changed

5 files changed

+482
-386
lines changed

README.md

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,39 @@ FSD가 아닌 자신만의 기능 중심의 폴더 구조를 만들어보세요.
103103

104104
꼭 기억할 점
105105
1. 자신만의 기능 중심의 폴더라고 했지만, 그 모습이 상당히 유니크하고 독창적이지는 않을 거에요. 아마 적절한 모법사례의 조합으로 수렴될 거에요.
106-
2. 그리고 그게 잘하는 거에요. 좋은 코드는? 자신보돠 남들에게 모두에게 이해하기 쉬운 코드니까요.
106+
2. 그리고 그게 잘하는 거에요. 좋은 코드는? 자신보돠 남들에게 모두에게 이해하기 쉬운 코드니까요.
107+
```
108+
109+
## 구현 가이드 (6주차 Basic 완료)
110+
111+
### 폴더 구조 (FSD 적용)
112+
```
113+
src/
114+
app/ # App 루트, 전역 Provider
115+
shared/
116+
ui/ # Button, Input 등 디자인 시스템
117+
stores/ # Zustand 전역 상태 (예: postsStore)
118+
entities/
119+
post/
120+
model/ # types, adapter
121+
ui/ # PostRow 등 단순 표시 컴포넌트
122+
features/
123+
post/
124+
add-post/
125+
update-post/
126+
delete-post/
127+
widgets/
128+
posts-table/ # 테이블 + 검색/필터 UI 조합
129+
pages/
130+
PostsManagerPage.tsx
131+
```
132+
133+
### 전역 상태관리(Zustand)
134+
`src/shared/stores/postsStore.ts` 에서 게시물·댓글·태그와 CRUD action 을 관리합니다.
135+
136+
### 실행 방법
137+
```bash
138+
pnpm i # 의존성 설치 (zustand 포함)
139+
pnpm dev # Vite 개발 서버 실행
140+
```
141+
브라우저에서 `localhost:5173` 접속 후 게시물 CRUD 및 페이지네이션, 검색, 태그 필터가 정상 동작하면 Basic 과제 요구사항을 충족합니다.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
},
1414
"dependencies": {
1515
"react": "^19.1.1",
16-
"react-dom": "^19.1.1"
16+
"react-dom": "^19.1.1",
17+
"zustand": "^4.5.1"
1718
},
1819
"devDependencies": {
1920
"@eslint/js": "^9.33.0",

src/index.tsx

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)