์๊ฐ : ๊ตญ๋ฆฝ๊ณต์ ์ฐ์ ๋ํ ๋ชจ๋ ๊ฒ(์ฐ ๊ฒ์, ์์น, ๋ ์จ, ์ผ์ถ, ์ผ๋ชฐ, CCTV ๋ฑ)
- ๋ฐฐํฌ : https://santaboa.vercel.app
| ํํ๋ฉด | ๊ฒ์ | ์ ๊ตญ์ง๋ | ์ฐ ์ ๋ณด |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
-
ํ๊ฒฝ๋ณ์ : 2๊ฐ์ง API Key ํ์
- ๊ณต๊ณต๋ฐ์ดํฐํฌํธ (OPEN API)
- ๋ ์จ : ๊ธฐ์์ฒญ ๋จ๊ธฐ์๋ณด ์กฐํ์๋น์ค
- ์ผ์ถ, ์ผ๋ชฐ์๊ฐ : ํ๊ตญ์ฒ๋ฌธ์ฐ๊ตฌ์ ์ถ๋ชฐ์๊ฐ ์ ๋ณด
- ๊ณต๊ณต๋ฐ์ดํฐํฌํธ (OPEN API)
-
์คํ ๋ฐฉ๋ฒ
yarn install or npm install // ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น yarn build or npm build // ๋น๋ yarn start or npm start // ์คํ
- ํ ํ์ด์ง
- ์ฐ ๋ฆฌ์คํธ
- ๊ฒ์ ํ์ด์ง
- ๊ฒ์ ๊ธฐ๋ฅ
- ์ต๊ทผ ๊ฒ์์ด
- ๊ฒ์ ๊ฒฐ๊ณผ
- ์ง๋ ํ์ด์ง
- ์ ์ฒด ์ฐ ์์น ๋ฐ ์ด๋ฆ ํ์
- ์์น ํด๋ฌ์คํฐ๋ง
- ์ฐ ์ ๋ณด ํ์ด์ง
- ์์น ํ์
- ์ฐ ์ ๋ณด
- ๋ฑ์ฐ ์๋ฃ ํ์
- ๋ ์จ ๋ฐ ์ผ์ถ, ์ผ๋ชฐ ์๊ฐ ํ์
- CCTV ๋งํฌ
- React : ํ ์ฌ์ฉ
- Next.js : ISR ์ ์ ํ์ด์ง, ํ์ด์ง ๋ผ์ฐํ , image ์ต์ ํ, vercel ๋ฐฐํฌ ์ฐ๋
- TanStack Query : ์๋ฒ ์ํ๊ด๋ฆฌ, ์บ์ ์ฒ๋ฆฌ
- React-Leaflet : ๊ฐ ๊ตญ๋ฆฝ๊ณต์ ์์น ์ง๋๋ก ํ์
- Jotai : ์ต๊ทผ ๊ฒ์์ด์ ๋ฑ์ฐ์๋ฃ ์ํ ๊ด๋ฆฌ ๋ฐ ๋ก์ปฌ์คํ ๋ฆฌ์ง ์ ์ฅ
- TypeScript : ์ ์ ํ์ ์ ์ฌ์ฉํ์ฌ ์์ ์ ์ธ ์ฝ๋ ์์ฑ
- Tailwind CSS : className์ผ๋ก ์คํ์ผ ์ง์
- app : ์ฑ ์ ์ญ ์ค์ (React-Query,Jotai ๋ฑ)
- pages : ํ์ผ๊ธฐ๋ฐ ๋ผ์ฐํ , API ๋ผ์ฐํธ
- views(FSD์ pages์ ๋์ผ : Next.js์ page router์ pages ํด๋์ ์ค๋ณต์ผ๋ก ์ด๋ฆ ๋ณ๊ฒฝ) : ํ์ด์ง๋ณ ๊ตฌ์ฑ์์
- features : ์ฌ์ฉ์ ํ๋๊ณผ ๋ฐ์ดํฐ ๋ณ๊ฒฝ(ํค๋, ์ฐจํธ)
- entities : ๋ฐ์ดํฐ์ ๋ ๋๋ง(์ง๋)
- shared : ๊ณตํต ์ ํธ๋ฆฌํฐ์ ์ปดํฌ๋ํธ, API, ์์ ๋ฑ
- ISR(Incremental Static Regeneration) ์ ์ฉ
- Next.js์getStaticProps์ prefetchQuery๋ฅผ ์ด์ฉํ pre-rendering ๋งํฌ
- Leaflet์ ์ด์ฉํ ์ง๋ ๊ตฌํ
- FSD(Feature Sliced Design) ์ ์ฉ
- Next/API๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋ก์ปฌ๊ณผ ํ๋ก๋์
์๊ฐ์ฐจ
- ๋ก์ปฌ์์ ํ ์คํธํ ๋๋ ์ ์์ด์์ผ๋ ๋ฐฐํฌ ํ ์๊ฐ์ด 11์๊ฐ์ ๋ ์ฐจ์ด ๋์ค๋ ๋ฌธ์ ๊ฐ ๋ฐ์
- ๋ฐฐํฌ๋๋ฉด์ ๋ฐฐํฌ์๋ฒ๊ฐ ํ๊ตญ์ด ์๋ ๊ณณ์ ๋๋ฉด์ API์ ์ ์ฉ๋๋ ํ์ฌ์๊ฐ์ด ๊ทธ ์ง์ญ ์๊ฐ์ ์ฌ์ฉํ๊ฒ ๋จ
- ํ์ฌ์๊ฐ์ ํ๊ตญ์๊ฐ(UTC + 9 ์๊ฐ)์ผ๋ก ์ ์ฉํ์ฌ ํด๊ฒฐ
- SEO
- ํ๊ณ์
- ์ปดํฌ๋ํธ ๊ตฌ์กฐ ๋ถ๋ฆฌ
- FSD ๊ฐ ์์น, ๋ถ๋ฆฌ์ ํตํฉ์ ๊ฒฝ๊ณ ๋ชจํธ
- Next.js์ App Router ๋ฏธํ์ฉ
- ์ปดํฌ๋ํธ ๊ตฌ์กฐ ๋ถ๋ฆฌ
- ํฅํ ๋ฃ๊ณ ์ถ์ ๊ธฐ๋ฅ
- ํ ์คํธ ์ฝ๋
- ๊ฒ์ํ
- 3D ์ฐ ์ง๋
- ๋ค๋ฅธ API : ๋ฏธ์ธ ๋จผ์ง ๋ฑ
- ์ง์ ์ฌ์ฉํด ๋ณผ ์ ์๊ณ , ์ง๋๋ฅผ ์ฌ์ฉํ๋ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด๋ณด๊ณ ์ถ์ด์ ์ข ์ข ๋ค๋๋ ๋ฑ์ฐ๊ด๋ จ ์ฐ ์ ๋ณด๋ฅผ ์๊ฐํด์ฃผ๋ ์นํ์ด์ง๋ฅผ ๋ง๋ค๊ธฐ ์กฐ๊ธ์ฉ ๋ง๋ค๊ธฐ ์์ํ๋ค. ์ฒ์๋ถํฐ ๋๊น์ง ํผ์ ์์ฑํ๊ณ ๋ ํ ๊ตฌ๊ธ์์ '์ฐํ๋ณด์' ๊ฒ์ ๊ฒฐ๊ณผ ์ฒซํ์ด์ง์ ํ์๋๋๊น ๋ฟ๋ฏํ๋ค.
- Next.js์ ์ฃผ์๊ธฐ๋ฅ์ ์ ์ฉํ๋ฉฐ ์ด๋ก ๋ง์ผ๋ก ์์๋ ๋ด์ฉ๋ค์ ์ค์ ๋ก ์ฌ์ฉํ๋ฉฐ ๋ฐฐ์ธ ์ ์์๋ค.



