yarn
์ผ๋ก ํจํค์ง ์ค์นjson-server --watch db.json --port 4000
์ผ๋ก JSON server ์คํ *(mac ver -yarn json-server --watch db.json --port 4000
)node server.js
๋ก express ์๋ฒ ์คํyarn start
๋ก ํด๋ผ์ด์ธํธ ์คํ
- React.js๋ก ๋น๋ํ ์์ธ์ ๊ณต๊ณต์๋น์ค ์ฒด์ก์์ค ์กฐํ ๋ฐ ์์ฝ์๋ด ์ฌ์ดํธ์ ๋๋ค
- naver map api, ์์ธ์ ๊ณต๊ณต ์ฒด์ก์์ค api, open weather map api, youtube data api๋ฅผ ํ์ฉํ์ฌ ๋ค์ฑ๋ก์ด ํ์ด์ง ๊ตฌ์ฑ์ ํ์์ต๋๋ค
๋ฐฐํฌ ์ฌ์ดํธ ์ด์ฉ ์ ์ค์ ์ฐธ๊ณ
- ์์ธ์ api๋ https๋ฅผ ์ง์ํ์ง ์์์ ๋ธ๋ผ์ฐ์ ์ค์ ํ์
- ํฌ๋กฌ ๊ธฐ์ค ์๋ ์บก์ณ์ ๊ฐ์ด url ์ฃผ์์ฐฝ ์ผ์ชฝ
์๋ฌผ์
ํด๋ฆญ -์ฌ์ดํธ ์ค์
์ ํ - ์์ ํ์ง ์์ ์ฝํ ์ธํ์ฉ
ํ ์๋ก๊ณ ์นจ
2023.07.17 - 2023.07.23
ํผ์น ์ ํ์ผ ์์ธ ๊ตฌ์กฐ
โฃ ๐axios
โ โฃ ๐comment.js
โ โฃ ๐publicDataAPI.js
โ โ ๐weatherApi.js
โฃ ๐components
โ โฃ ๐common
โ โ โฃ ๐Footer.jsx
โ โ โฃ ๐Header.jsx
โ โ โฃ ๐Layout.jsx
โ โ โฃ ๐Weather.jsx
โ โ โ ๐YouTubeApi.jsx
โ โฃ ๐detail
โ โ โฃ ๐Comments.jsx
โ โ โฃ ๐Detail.jsx
โ โ โ ๐PostData.jsx
โ โฃ ๐map
โ โ โฃ ๐MapComponent.jsx
โ โ โฃ ๐Maps.jsx
โ โ โ ๐MarkPins.jsx
โ โฃ ๐Facilities.jsx
โ โฃ ๐Paging.jsx
โ โ ๐Search.jsx
โฃ ๐helper
โ โ ๐calDistance.js
โฃ ๐hooks
โ โฃ ๐mapHooks
โ โ โฃ ๐saveBoundary.js
โ โ โฃ ๐setBoundaries.js
โ โ โ ๐useGetCoords.js
โ โฃ ๐useCurrentLocation.js
โ โ ๐useFetchPublicData.js
โฃ ๐pages
โ โฃ ๐Home.jsx
โ โ ๐Homebackup.jsx
โฃ ๐redux
โ โฃ ๐config
โ โ โ ๐configStore.js
โ โ ๐modules
โ โ โฃ ๐maps
โ โ โ โฃ ๐coordsGroup.js
โ โ โ โฃ ๐reloadMap.js
โ โ โ โฃ ๐save10Location.js
โ โ โ โ ๐setBoundary.js
โ โ โฃ ๐commentsSlice.js
โ โ โฃ ๐publicData.js
โ โ โ ๐userLocation.js
โฃ ๐shared
โ โ ๐Router.js
โฃ ๐.DS_Store
โฃ ๐App.css
โฃ ๐App.js
โฃ ๐GlobalStyle.jsx
โฃ ๐index.css
โฃ ๐index.js
โ ๐reset.css
- ํ๋ช : ๋ด ์ฝ๋ ์2๋ฌ์กฐ
- ํ์ ๋ฐ ๋ด๋น ๊ตฌํ ๊ธฐ๋ฅ
์ญํ | ์ด๋ฆ | ๋ด๋น ๊ตฌํ ๊ธฐ๋ฅ | GitHub |
---|---|---|---|
ํ์ฅ | ๊นํํ | ์ง๋ API, express ์๋ฒ, ์ปดํฌ๋ํธ๊ฐ ๋ฐ์ดํฐ ์ฐ๊ฒฐ | https://github.com/kimhwanhoon |
ํ์ | ๊น์ฐ๋ฆฌ | ๋ ์จAPI, ์ ํ๋ธ API | https://github.com/wooriki |
ํ์ | ๋ฐ์ง์ | ๊ณต๊ณตAPI ๋ฐ์ดํฐ ํ์ด์ง๋ค์ด์ | https://github.com/xoxojw |
ํ์ | ์กฐ์ฑ๋ก | ๋ ์จAPI, ์์ธ ํ์ด์ง, ๋๊ธ ๊ธฐ๋ฅ, ๊ฒ์ ๊ธฐ๋ฅ | https://github.com/pigrok |
ํ์ | ์ต์์ | ๊ณต๊ณตAPI ๋ฐ์ดํฐ ๊ฒ์ ๋ฐ ํํฐ ๊ธฐ๋ฅ | https://github.com/choisua98 |
์ง๋API ๋ค์ด๋ฒ ์ง๋
- ๊ณต๊ณต๋ฐ์ดํฐAPI์์ ๋ถ๋ฌ์จ ๋ฐ์ดํฐ์์ ์๋์ ๊ฒฝ๋๋ฅผ ํ์ฉํ์ฌ ๋ค์ด๋ฒ ๋งต์ ํ์ ์ฐ๋๋ค
- reverse geocoding api๋ฅผ ํตํด ์๋์ ๊ฒฝ๋๋ฅผ ํตํด์ ๋๋ก๋ช ์ฃผ์๋ก ๋ณํํ๋ค
๊ณต๊ณต๋ฐ์ดํฐAPI ์์ธ์ ์ฒด์ก์์ค ๊ณต๊ณต์๋น์ค ์์ฝ
react query
,axios
ํ์ฉํ์ฌ ์์ธ์ ๊ณต๊ณตAPI ๋ฐ์ดํฐ GET ์์ฒญํ๋ค- ๊ฒ์์ฐฝ ํํฐ๋ง์ผ๋ก ๊ณต๊ณต๋ฐ์ดํฐ ํํฐ๊ธฐ๋ฅ์ ๊ตฌํํ๋ค
- ํํฐ๋ง ๋ API ๋ฐ์ดํฐ๋ฅผ
pagination
๊ธฐ๋ฅ์ผ๋กpainting
- ๋ถ๋ฌ์จ API ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ์ ์์น ์ ๋ณด์ ๋ฐ๋ผ ๊ฐ๊น์ด ์์ผ๋ก ์ ๋ ฌํ๋ค
- ๊ฑฐ๋ฆฌ ์์ผ๋ก ์ ๋ ฌ๋ ๋ฐ์ดํฐ๋ฅผ
react-js-pagination
๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ฉํ์ฌ ํ์ด์ง๋ค์ด์ ํ๋ค
๋ ์จAPI Open Weather Map
- ํ์ฌ ์น ๋ธ๋ผ์ฐ์ ์ฌ์ฉ์์ ์์น๋ฅผ ํตํด ๋ ์จ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API
- ๋์์ ์์น(๊ฒฝ๋, ์๋)๊ฐ์ ๋งค๊ฐ๋ณ์๋ก ํ์ฌ ํ์ฉํ๋ค
- jsonํํ๋ก ๊ฐ์ ธ์์ ํ์ฌ ์์น์ ๋ ์จ ํํฉ์ ํด๋น ๋ ์จ์ ๋ฐํ๋๋ icon์ผ๋ก ์ง์ญ๋ช ๊ณผ ํจ๊ป ๋ธ๋ผ์ฐ์ ์ ๋ ๋๋งํ๋ค
- ์ถ๊ฐ์ ์ผ๋ก ๋ ์ง์ ํ์ฌ ์๊ฐ์ ๋ ๋๋งํ๋ค
์ ํ๋ธAPI YouTube
- ํ๊ฒํ ํ ํน์ ์ฑ๋์ ID ๊ฐ์ ํ์ฉํ์ฌ ์ฑ๋์ ์ฌ์๋ชฉ๋ก List๋ฅผ API๋ก ๊ฐ์ ธ์จ๋ค
- API ์์ฒญ ๋งค๊ฐ๋ณ์์ ์ผ์นํ๋ ์ฌ์๋ชฉ๋ก์ ๋ชจ์์ ๋ฐํ๋ฐ์ axios get ์์ฒญ์ผ๋ก ์์ธ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์จ๋ค
- ํ์ํ ๊ฐ์ return ํด์ฃผ๋ฉฐ List๋ฅผ shuffleํ์ฌ ๋ธ๋ผ์ฐ์ ์ ๋ ๋๋งํ๋ค
1) Header - ๊ฒ์์ฐฝ ์นดํ
๊ณ ๋ฆฌ ํํฐ : ์ฌ์ฉ์๊ฐ ์ด๋์ข
๋ชฉ๊ณผ ์ง์ญ๊ตฌ๋ฅผ ์ ํํ์ฌ ๋ฐ์ดํฐ ํํฐ๋ง
2) Header - ๋ ์จ API : ์ฌ์ฉ์ ํ์ฌ ์์น์ ๋ฐ๋ฅธ ๋ ์จ ๋ฐ ์๊ฐ ๋ณด์ฌ์ฃผ๊ธฐ
3) Body - map API : ์ฌ์ฉ์ ํ์ฌ ์์น์์ ๊ฐ๊น์ด ๋ฐ์ดํฐ ๋ณด์ฌ์ฃผ๊ธฐ
4) Body - Youtube API : ์ถ์ฒ ์์
๋ฆฌ์คํธ ๊ฐ์ ธ์ค๊ธฐ ( ์๋ก๊ณ ์นจ ํ ๋ ์๋ก์ด ๋ฆฌ์คํธ๋ก ๋ฐ๋ )
5) Body - ๊ณต๊ณต๋ฐ์ดํฐ API : ์ฌ์ฉ์ ํ์ฌ ์์น์ ๊ฐ๊น์ด ์์ผ๋ก ๋ฐ์ดํฐ ํ์ด์ง๋ค์ด์
1) ๋๊ธ ์์ /์ญ์ ๊ธฐ๋ฅ ๊ตฌํ
2) ๋๋ค์ผ๋ก ํ๋กํ ์ฌ์ง ์์ฑ
- React.js
- styled-components
- react-router-dom
- react-redux
- redux-toolkit
- redux-devtools-extension
- react-query
- react-query-devtools
- react-js-paginaition
- react-naver-maps
- axios
- cors
- dotenv
- express
- weather-styled-icon
- Git/Github
- Visual Studio
- Slack
- Figma