- ๋ฐฐํฌ : ๋ ๊พธ ์น์ฌ์ดํธ
์์ํ๋ฉด | ๋ฉ์ธํ๋ฉด | ์ค์ ํ๋ฉด |
---|---|---|
![]() |
![]() |
![]() |
- env : 3๊ฐ์ง API Key ํ์
- ๋ค์ด๋ฒ ๋งต API
- ๊ณต๊ณต๋ฐ์ดํฐ (OPEN API)
- ๊ธฐ์์ฒญ ๋จ๊ธฐ์๋ณด ์กฐํ์๋น์ค
- ํ๊ตญ์ฒ๋ฌธ์ฐ๊ตฌ์ ์ถ๋ชฐ์๊ฐ ์ ๋ณด
yarn install // ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
yarn start // ์คํ
- ์์ํ์ด์ง
- ํ๋ฆฌ์ ์ข ๋ฅ ๋ณด์ฌ์ฃผ๊ธฐ
- ๋ฉ์ธํ์ด์ง
- ์ ํ๋ ์ฅ์์ ๋ ์จ ๋ฐ ์ฒ๋ฌธ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ
- ๋๋๊ทธ ์ค ๋๋กญ์ผ๋ก ์นดํ ๊ณ ๋ฆฌ ์์ ๋ณ๊ฒฝ
- ์ฃผ์์ฐพ๊ธฐ
- ์ํ๋ ์ฃผ์ ๊ฒ์
- ์ฃผ์์ ํด๋นํ๋ ์๊ฒฝ๋ ๊ฐ์ ธ์ค๊ธฐ
- ์ค์ ํ์ด์ง
- ๋๋๊ทธ์ค๋๋กญ์ผ๋ก ์์ ๋ณ๊ฒฝ
- ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ ๋ณ๊ฒฝ
- ์นดํ ๊ณ ๋ฆฌ ์ถ๊ฐ, ์ญ์
- React
- Next.js
- ํ์ด์ง ๋ผ์ฐํ
- image ์ต์ ํ
- vercel ๋ฐฐํฌ ์ฐ๋
- React-Query : ์๋ฒ ์ํ๊ด๋ฆฌ, ์บ์ ์ฒ๋ฆฌ
- react-beautiful-dnd : ๋๋๊ทธ ์ค ๋๋กญ ๊ธฐ๋ฅ
- Recoil : ํด๋ผ์ด์ธํธ ์ํ๊ด๋ฆฌ ๋ฐ ๋ก์ปฌ์คํ ๋ฆฌ์ง ์ ์ฅ
- TypeScript : ์ ์ ํ์ ์ ์ฌ์ฉํ์ฌ ์์ ์ ์ธ ์ฝ๋ ์์ฑ
- Naver Map API : ์ฃผ์๊ฒ์ ๋ฐ ํด๋น ์ฃผ์์ ์๊ฒฝ๋ ๊ฐ์ ธ์ค๊ธฐ
- styled-components : CSS in JS, ์ปดํฌ๋ํธ ๋จ์๋ก CSS๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ
-
public : ์ ์ ํ์ผ(์ด๋ฏธ์ง, ์์ด์ฝ ๋ฑ) ๊ด๋ฆฌ
-
src/components : ๊ธฐ๋ฅ๋ณ ์ฌ์ฉํ๋ ์ปดํฌ๋ํธ
-
src/hooks : ์ฃผ์๊ด๋ จ ํ
-
src/lib : ์ํ, ํ์ , ์ ํธ, ์์ ๊ด๋ฆฌ
-
src/pages : ํ์ด์ง ๋ผ์ฐํ ๋ฐ ์์ํ์ด์ง
-
src/pages/main : ๋ฉ์ธํ์ด์ง(์นดํ ๊ณ ๋ฆฌ ๋ณด์ฌ์ฃผ๊ธฐ, ์์ ๋ณ๊ฒฝ)
-
src/pages/setup : ์ค์ ํ์ด์ง(์นดํ ๊ณ ๋ฆฌ ์ ํ ๋ฐ ์์ ๋ณ๊ฒฝ, ์์ ๋ณ๊ฒฝ)
-
src/pages/api : API ๊ด๋ฆฌ
-
src/styles : ์ ์ญ ์คํ์ผ ์ ์
๐ฆpublic
๐ฆsrc
โฃ ๐components
โ โฃ ๐common
โ โฃ ๐location
โ โฃ ๐main
โ โฃ ๐preset
โ โ ๐setup
โฃ ๐hooks
โฃ ๐lib
โ โฃ ๐constants
โ โฃ ๐store
โ โฃ ๐types
โ โ ๐utils
โฃ ๐pages
โ โฃ ๐api
โ โฃ ๐main
โ โฃ ๐setup
โ โฃ ๐index.tsx
โ โฃ ๐_app.tsx
โ โ ๐_document.tsx
โ ๐styles
- API ๋์์ 2๊ฐ ํธ์ถ
- ์ฒ์์๋ API fetch๋ฅผ ๊ฐ๊ฐ ์ฒ๋ฆฌ, ๊ทธ ํ Promise.all๋ก ๋ณ๊ฒฝํ๋ค๊ฐ useQueries๋ก ์์ ํ์ฌ ๊ตฌํ
- ๋์ผํ ์์ฒญ์ ์บ์ ์ฒ๋ฆฌ๋์ด ์ค์ ๋ก ์์ฒญํ์ง ์์ ์ ์์์
- API ์์ฒญ์ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํ์ฌ ์์์๊ฐ์ ์ต์ํ
- useQuery์์ ์ ๊ณตํ๋ ์ํ(isLoading, isError ๋ฑ)๋ฅผ ํ์ฉํ๊ธฐ ์ข์
- ์ฒ์์๋ API fetch๋ฅผ ๊ฐ๊ฐ ์ฒ๋ฆฌ, ๊ทธ ํ Promise.all๋ก ๋ณ๊ฒฝํ๋ค๊ฐ useQueries๋ก ์์ ํ์ฌ ๊ตฌํ
-
ํ๊ณ์
- ์นดํ ๊ณ ๋ฆฌ ์ฌ์ด์ฆ ๋ค์ํ ๋ฏธ๊ตฌํ
- ์ปดํฌ๋ํธ ๊ตฌ์กฐ
- ์ฒ์์๋ ์ํ ๋ฏน ๋์์ธ ํจํด์ ์ฌ์ฉํ์์ผ๋ ๊ฐ ํด๋๋ณ ๋ช ํํ ๊ตฌ๋ถ์ด ์ด๋ ค์ ๊ธฐ๋ฅ๋ณ๋ก ๋๋์์
- Next.js์ SSG, SSR ๋ฏธ์ฌ์ฉ
-
ํฅํ ๋ฃ๊ณ ์ถ์ ๊ธฐ๋ฅ
- ํ์์น ๊ฐ์ ธ์ค๊ธฐ
- ๋ค๋ฅธ API๋ก ์ ๋ณด ์ถ๊ฐ(๋ฏธ์ธ๋จผ์ง ๋ฑ)
- suspense ์ฌ์ฉํด๋ณด๊ธฐ
- ์๋ฒฝํ์ง๋ ์์ง๋ง ์๊ฐํ๋ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ ์๋ฃํ๊ณ , ์ค์ ๋ก ๋ ์จ ๋ณผ ๋ ์ฌ์ฉํ๊ธฐ ํธํ์
- ์คํ์์ค์ ๊ธฐ์ฌ๋ ๋ชปํด๋ดค์ผ๋ OPEN API(๊ณต๊ณต๋ฐ์ดํฐ)์ 2023๋ ์๊ฒฝ๋ ์์น์ ๋ํ ์ฅ์๋ฅผ ์๋ชป ๊ฐ์ ธ์ค๋ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌ, ์ ๋ณดํ์ฌ ๊ณต๊ณต๋ฐ์ดํฐ ๊ธฐ๊ด์์ ์์ ํด ์ค