Skip to content
Open
Show file tree
Hide file tree
Changes from 45 commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
e90049b
feat: tanstack query 설치
Legitgoons Aug 13, 2025
c016ddc
feat: zustand 설치
Legitgoons Aug 13, 2025
f8120ba
feat: 폴더 구조 설정
Legitgoons Aug 13, 2025
1932b3d
feat: cursor rules 추가
Legitgoons Aug 13, 2025
8a30544
refactor: header와 footer를 app/layouts로 이동
Legitgoons Aug 13, 2025
6bf6414
feat: prettier & eslint 설정
Legitgoons Aug 13, 2025
22f695f
feat: prettier & eslint 적용
Legitgoons Aug 13, 2025
be202cf
feat: refactor: UI 컴포넌트 타입 안전성 개선
Legitgoons Aug 13, 2025
f25471a
feat: 절대경로 설정
Legitgoons Aug 14, 2025
520fb4a
refactor(ui): 컴포넌트 FSD 구조로 분리
Legitgoons Aug 14, 2025
c2d063b
feat: PostsManagerPage내 컴포넌트들 shared로 경로 수정
Legitgoons Aug 14, 2025
c2a92a7
feat: eslint-plugin-fsd-lint 설치
Legitgoons Aug 14, 2025
8624d45
chore: 필요없는 asset 삭제
Legitgoons Aug 14, 2025
05c099d
tanstack query devtools 설치
Legitgoons Aug 14, 2025
607871f
feat: AppProvider 구현 및 App.tsx에 추가
Legitgoons Aug 14, 2025
a9508b2
chore: 사용하지 않는 코드 제거
Legitgoons Aug 14, 2025
3116d6e
feat: 공용 Interface인 IUser 구현
Legitgoons Aug 14, 2025
7b9f68d
feat: entities/user/model type 구현
Legitgoons Aug 14, 2025
c45f247
feat: entities/comment/model type 구현
Legitgoons Aug 14, 2025
904da5d
feat: entities/post/model type 구현
Legitgoons Aug 14, 2025
ac52150
feat: axios 인스턴스와 HTTP 요청 함수 추가
Legitgoons Aug 14, 2025
575245d
fix: 잘못 입력된 컴포넌트 수정
Legitgoons Aug 14, 2025
2443d50
refactor: PostsManager를 tanstack query + http-client로 개선
Legitgoons Aug 14, 2025
3a32876
feat: entities comment api 구현
Legitgoons Aug 14, 2025
430b8eb
feat: entities post api 구현
Legitgoons Aug 14, 2025
7bb0573
feat: entities user api 구현
Legitgoons Aug 14, 2025
1f3c51b
refactor: PostManagerPage에서 분리된 entities/api 사용하도록 수정
Legitgoons Aug 14, 2025
f111e00
feat: eslint rules 수정
Legitgoons Aug 14, 2025
c4c6c25
feat: 누락된 fetchTags 추가
Legitgoons Aug 14, 2025
dc0804e
feat: IFetchPostsResponse type 추가
Legitgoons Aug 14, 2025
a5775d6
feat: IFetchUsersResponse type 추가
Legitgoons Aug 14, 2025
5ab2d21
refactor: TanStack Query 분리 아키텍처로 데이터 fetching 최적화
Legitgoons Aug 14, 2025
47239ba
feat: React Query 로직 feature 훅으로 분리 및 페이지 리팩토링
Legitgoons Aug 14, 2025
c3b40e0
feat: eslint rules 수정
Legitgoons Aug 14, 2025
3fe4c67
feat: 누락된 features 추가 구현
Legitgoons Aug 14, 2025
78e00fd
feat: shared/store/posts-ui 구현
Legitgoons Aug 14, 2025
4f1c13d
refactor: PostsMangerPage 컴포넌트 widgets로 분할
Legitgoons Aug 14, 2025
f57f675
feat: highlightText 구현
Legitgoons Aug 14, 2025
b9ba005
refactor: widgets를 FSD segments로 분리
Legitgoons Aug 14, 2025
ed0255a
feat: 에러 처리 로직 추가
Legitgoons Aug 14, 2025
258908d
feat: 배포를 위한 설정
Legitgoons Aug 14, 2025
9145fd7
fix: build 에러 해결
Legitgoons Aug 14, 2025
015efbe
fix: 배포 에러 해결
Legitgoons Aug 14, 2025
5fe0e64
feat: 좋아요 낙관적 업데이트 구현
Legitgoons Aug 14, 2025
7fb5f97
feat: 삭제 낙관적 업데이트 구현
Legitgoons Aug 14, 2025
b2e8989
feat: app export 경로 수정
Legitgoons Aug 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
478 changes: 478 additions & 0 deletions .cursor/rules/functional-programming.mdc

Large diffs are not rendered by default.

693 changes: 693 additions & 0 deletions .cursor/rules/toss.mdc

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
node_modules
dist
build
.next
coverage
*.min.js
pnpm-lock.yaml
package-lock.json
7 changes: 3 additions & 4 deletions .prettierrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
"semi": false,
"printWidth": 120,
"tabWidth": 2,
"singleQuote": false,
"singleQuote": true,
"quoteProps": "consistent",
"trailingComma": "all",
"singleAttributePerLine": false
}
"trailingComma": "all"
}
3 changes: 3 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"recommendations": ["esbenp.prettier-vscode", "dbaeumer.vscode-eslint"]
}
13 changes: 9 additions & 4 deletions eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ import globals from 'globals'
import reactHooks from 'eslint-plugin-react-hooks'
import reactRefresh from 'eslint-plugin-react-refresh'
import tseslint from 'typescript-eslint'
import eslintConfigPrettier from 'eslint-config-prettier'
import fsdPlugin from 'eslint-plugin-fsd-lint'

export default tseslint.config(
{ ignores: ['dist'] },
Expand All @@ -16,13 +18,16 @@ export default tseslint.config(
plugins: {
'react-hooks': reactHooks,
'react-refresh': reactRefresh,
'fsd': fsdPlugin,
},
rules: {
...reactHooks.configs.recommended.rules,
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
],
'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],
'fsd/forbidden-imports': 'error',
'fsd/no-cross-slice-dependency': 'error',
'fsd/no-ui-in-business-logic': 'error',
'fsd/ordered-imports': 'warn',
},
},
eslintConfigPrettier,
)
16 changes: 13 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,38 @@
"scripts": {
"dev": "vite",
"build": "tsc -b && vite build",
"postbuild": "cp dist/index.html dist/404.html",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,json,css,md}\"",
"format:check": "prettier --check \"src/**/*.{js,jsx,ts,tsx,json,css,md}\"",
"preview": "vite preview",
"test": "vitest",
"coverage": "vitest run --coverage"
"predeploy": "pnpm run build",
"deploy": "npx gh-pages -d dist"
},
"dependencies": {
"@tanstack/react-query": "^5.85.0",
"react": "^19.1.1",
"react-dom": "^19.1.1"
"react-dom": "^19.1.1",
"zustand": "^5.0.7"
},
"devDependencies": {
"@eslint/js": "^9.33.0",
"@radix-ui/react-dialog": "^1.1.14",
"@radix-ui/react-select": "^2.2.5",
"@tanstack/react-query-devtools": "^5.85.1",
"@testing-library/jest-dom": "^6.6.4",
"@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.6.1",
"@types/node": "^24.2.1",
"@types/react": "^19.1.9",
"@types/react-dom": "^19.1.7",
"@vitejs/plugin-react": "^5.0.0",
"axios": "^1.11.0",
"class-variance-authority": "^0.7.1",
"eslint": "^9.33.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-fsd-lint": "^1.0.9",
"eslint-plugin-react-hooks": "^5.2.0",
"eslint-plugin-react-refresh": "^0.4.20",
"globals": "^16.3.0",
Expand Down
Loading