From 566b33aae954c766b06881dc46c834b63f5ced8f Mon Sep 17 00:00:00 2001 From: Yeryeong Kang Date: Sun, 24 Aug 2025 23:15:32 +0900 Subject: [PATCH] =?UTF-8?q?Refactor:=20FSD=20=ED=8F=B4=EB=8D=94=20?= =?UTF-8?q?=EA=B5=AC=EC=A1=B0=20=EB=B3=80=EA=B2=BD=20(components,=20assets?= =?UTF-8?q?=20=EC=A0=9C=EC=99=B8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/{App.jsx => app/index.jsx} | 14 +++++++------- src/{constants => entities/course}/mock.js | 0 .../course/model}/useTrackStore.js | 0 .../user/model}/useUserStore.js | 0 src/{services => features/auth/api}/userService.js | 7 +++++-- .../recommendation/api}/trackRecommendService.js | 0 .../track-manamgement/api}/userDataService.js | 4 ++-- .../track-manamgement/api}/userTrackService.js | 2 +- src/pages/{Home.jsx => home/index.jsx} | 0 src/pages/{TrackInfo.jsx => info/index.jsx} | 0 src/pages/{Login.jsx => login/index.jsx} | 0 src/pages/{My.jsx => my/index.jsx} | 0 src/pages/{Splash.jsx => splash/index.jsx} | 0 src/services/apiClient.js | 11 ----------- src/{constants => shared/api}/api.js | 0 src/shared/api/apiClient.js | 11 +++++++++++ src/{ => shared}/hooks/useDummy.js | 0 src/{ => shared}/utils/dummyUtils.js | 0 src/{layouts => widgets/navigation}/Footer.jsx | 0 src/{layouts => widgets/navigation}/Header.jsx | 0 20 files changed, 26 insertions(+), 23 deletions(-) rename src/{App.jsx => app/index.jsx} (81%) rename src/{constants => entities/course}/mock.js (100%) rename src/{stores => entities/course/model}/useTrackStore.js (100%) rename src/{stores => entities/user/model}/useUserStore.js (100%) rename src/{services => features/auth/api}/userService.js (79%) rename src/{services => features/recommendation/api}/trackRecommendService.js (100%) rename src/{services => features/track-manamgement/api}/userDataService.js (85%) rename src/{services => features/track-manamgement/api}/userTrackService.js (91%) rename src/pages/{Home.jsx => home/index.jsx} (100%) rename src/pages/{TrackInfo.jsx => info/index.jsx} (100%) rename src/pages/{Login.jsx => login/index.jsx} (100%) rename src/pages/{My.jsx => my/index.jsx} (100%) rename src/pages/{Splash.jsx => splash/index.jsx} (100%) delete mode 100644 src/services/apiClient.js rename src/{constants => shared/api}/api.js (100%) create mode 100644 src/shared/api/apiClient.js rename src/{ => shared}/hooks/useDummy.js (100%) rename src/{ => shared}/utils/dummyUtils.js (100%) rename src/{layouts => widgets/navigation}/Footer.jsx (100%) rename src/{layouts => widgets/navigation}/Header.jsx (100%) diff --git a/src/App.jsx b/src/app/index.jsx similarity index 81% rename from src/App.jsx rename to src/app/index.jsx index 7b13c4a..478798a 100644 --- a/src/App.jsx +++ b/src/app/index.jsx @@ -5,15 +5,15 @@ import { useLocation, Navigate, } from 'react-router-dom'; -import Home from './pages/Home'; -import TrackInfo from './pages/TrackInfo'; +import Home from './pages/home'; +import TrackInfo from './pages/info'; import NotFound from './pages/NotFound'; import Search from './pages/Search'; -import Splash from './pages/Splash'; -import Header from './layouts/Header'; -import Footer from './layouts/Footer'; -import Login from './pages/Login'; -import MyPage from './pages/My'; +import Splash from './pages/splash'; +import Header from './widgets/navigation/Header'; +import Footer from './widgets/navigation/Footer'; +import Login from './pages/login'; +import MyPage from './pages/my'; import UploadSection from './components/UploadSection'; function App() { diff --git a/src/constants/mock.js b/src/entities/course/mock.js similarity index 100% rename from src/constants/mock.js rename to src/entities/course/mock.js diff --git a/src/stores/useTrackStore.js b/src/entities/course/model/useTrackStore.js similarity index 100% rename from src/stores/useTrackStore.js rename to src/entities/course/model/useTrackStore.js diff --git a/src/stores/useUserStore.js b/src/entities/user/model/useUserStore.js similarity index 100% rename from src/stores/useUserStore.js rename to src/entities/user/model/useUserStore.js diff --git a/src/services/userService.js b/src/features/auth/api/userService.js similarity index 79% rename from src/services/userService.js rename to src/features/auth/api/userService.js index f9bf078..dadeb33 100644 --- a/src/services/userService.js +++ b/src/features/auth/api/userService.js @@ -1,8 +1,11 @@ // API 요청 관련 함수 // src/services/userService.js -import { BASE_URL } from '../constants/api'; +import { BASE_URL } from '../../../constants/api'; -export const loginWithSejongPortal = async (sejongPortalId, sejongPortalPassword) => { +export const loginWithSejongPortal = async ( + sejongPortalId, + sejongPortalPassword +) => { const response = await fetch(`${BASE_URL}/api/auth/sejong/login`, { method: 'POST', headers: { diff --git a/src/services/trackRecommendService.js b/src/features/recommendation/api/trackRecommendService.js similarity index 100% rename from src/services/trackRecommendService.js rename to src/features/recommendation/api/trackRecommendService.js diff --git a/src/services/userDataService.js b/src/features/track-manamgement/api/userDataService.js similarity index 85% rename from src/services/userDataService.js rename to src/features/track-manamgement/api/userDataService.js index e490a51..9570a60 100644 --- a/src/services/userDataService.js +++ b/src/features/track-manamgement/api/userDataService.js @@ -1,6 +1,6 @@ // src/services/userDataService.js -import { BASE_URL } from '../constants/api'; -import useUserStore from '../stores/useUserStore'; +import { BASE_URL } from '../../../constants/api'; +import useUserStore from '../../../stores/useUserStore'; export const uploadStudentExcel = async (file) => { const studentId = useUserStore.getState().studentId; diff --git a/src/services/userTrackService.js b/src/features/track-manamgement/api/userTrackService.js similarity index 91% rename from src/services/userTrackService.js rename to src/features/track-manamgement/api/userTrackService.js index db7c3b5..8e037f1 100644 --- a/src/services/userTrackService.js +++ b/src/features/track-manamgement/api/userTrackService.js @@ -1,4 +1,4 @@ -import { BASE_URL } from '../constants/api'; +import { BASE_URL } from '../../../constants/api'; export const postUserTrack = async (studentId, trackName) => { const response = await fetch( diff --git a/src/pages/Home.jsx b/src/pages/home/index.jsx similarity index 100% rename from src/pages/Home.jsx rename to src/pages/home/index.jsx diff --git a/src/pages/TrackInfo.jsx b/src/pages/info/index.jsx similarity index 100% rename from src/pages/TrackInfo.jsx rename to src/pages/info/index.jsx diff --git a/src/pages/Login.jsx b/src/pages/login/index.jsx similarity index 100% rename from src/pages/Login.jsx rename to src/pages/login/index.jsx diff --git a/src/pages/My.jsx b/src/pages/my/index.jsx similarity index 100% rename from src/pages/My.jsx rename to src/pages/my/index.jsx diff --git a/src/pages/Splash.jsx b/src/pages/splash/index.jsx similarity index 100% rename from src/pages/Splash.jsx rename to src/pages/splash/index.jsx diff --git a/src/services/apiClient.js b/src/services/apiClient.js deleted file mode 100644 index c53db32..0000000 --- a/src/services/apiClient.js +++ /dev/null @@ -1,11 +0,0 @@ -import axios from 'axios'; -import { BASE_URL } from '../constants/api'; - -const apiClient = axios.create({ - baseURL: BASE_URL, - headers: { - 'Content-Type': 'application/json', - }, -}) - -export default apiClient; \ No newline at end of file diff --git a/src/constants/api.js b/src/shared/api/api.js similarity index 100% rename from src/constants/api.js rename to src/shared/api/api.js diff --git a/src/shared/api/apiClient.js b/src/shared/api/apiClient.js new file mode 100644 index 0000000..9c7492a --- /dev/null +++ b/src/shared/api/apiClient.js @@ -0,0 +1,11 @@ +import axios from 'axios'; +import { BASE_URL } from '../../constants/api'; + +const apiClient = axios.create({ + baseURL: BASE_URL, + headers: { + 'Content-Type': 'application/json', + }, +}); + +export default apiClient; diff --git a/src/hooks/useDummy.js b/src/shared/hooks/useDummy.js similarity index 100% rename from src/hooks/useDummy.js rename to src/shared/hooks/useDummy.js diff --git a/src/utils/dummyUtils.js b/src/shared/utils/dummyUtils.js similarity index 100% rename from src/utils/dummyUtils.js rename to src/shared/utils/dummyUtils.js diff --git a/src/layouts/Footer.jsx b/src/widgets/navigation/Footer.jsx similarity index 100% rename from src/layouts/Footer.jsx rename to src/widgets/navigation/Footer.jsx diff --git a/src/layouts/Header.jsx b/src/widgets/navigation/Header.jsx similarity index 100% rename from src/layouts/Header.jsx rename to src/widgets/navigation/Header.jsx