๐บ๏ธ RoutePlanner: ์ง๋ฅํ ๊ฒฝ๋ก ์ต์ ํ ๋ฐ ์๊ฐํ ๋๊ตฌ
๐บ๏ธ ํ๋ก์ ํธ ๋ช : RoutePlanner (์ค๋งํธ ๊ฒฝ๋ก ์์ฑ๊ธฐ)
1. ํ ์ค ์์ฝ
"๋ณต์กํ ์ผ์ ์ ํ๋์ ์๊ฐํํ๊ณ , ์ต์ ์ ๋์ ์ ์ฐพ์์ฃผ๋ ์ง๋ฅํ ๊ฒฝ๋ก ๊ด๋ฆฌ ๋๊ตฌ"
2. ์ด๋จ ๋ ์ฌ์ฉํ๋์? (Use Cases)
- ์ฌํ ๊ณํ: ์ฌ๋ฌ ๊ด๊ด ๋ช ์๋ฅผ ๋ฐฉ๋ฌธํ ๋ ์ด๋ ์์๋ฅผ ํจ์จ์ ์ผ๋ก ์ ํ๊ณ ์ถ์ ๋.
- ์ธ๊ทผ ๋ฐ ๋ฐฐ์ก: ํ๋ฃจ์ ๋ฐฉ๋ฌธํด์ผ ํ ์ฌ๋ฌ ์ ์ฒด๋ ๋ฐฐ์ก์ง๋ค์ ์ต์ ์ ๋์ ์ผ๋ก ์ฐ๊ฒฐํ๊ณ ์ถ์ ๋.
- ๋ถ๋์ฐ ์์ฅ ๋ฐ ์ง์ญ ์กฐ์ฌ: ํน์ ์ง์ญ์ ์ฌ๋ฌ ์ง์ ์ ์ฐจ๋ก๋ก ๋ฐฉ๋ฌธํ๋ฉฐ ํ์ฅ์ ํ์ธํด์ผ ํ ๋.
- ๊ณต์ ์ฉ ์ง๋: ๋ด๊ฐ ๊ณํํ ๊ฒฝ๋ก๋ฅผ ์น๊ตฌ๋ ๋๋ฃ์๊ฒ URL ํ๋๋ก ๊ฐ๋จํ ๊ณต์ ํ๊ณ ์ถ์ ๋.
3. ์ฃผ์ ํน์ง ๋ฐ ๊ฐ์ (Key Strengths)
- ์ค๋งํธ ๋์ ์ต์ ํ: ๋จ์ํ ์ฅ์๋ฅผ ๋์ดํ๋ ๊ฒ์ด ์๋๋ผ, ๋ง๋ฒ์ฌ ๋ฒํผ(๐ช) ํด๋ฆญ ํ ๋ฒ์ผ๋ก ๊ฐ์ฅ ํจ์จ์ ์ธ ์ด๋ ๊ฒฝ๋ก๋ฅผ ์๋์ผ๋ก ๊ณ์ฐํด ์ค๋๋ค.
- ์ง๊ด์ ์ธ ๋๋๊ทธ ์ค ๋๋กญ: ๋ฆฌ์คํธ ์์๋ฅผ ์์ ๋กญ๊ฒ ๋ฐ๊ฟ๊ฐ๋ฉฐ ์ค์๊ฐ์ผ๋ก ์ง๋ ์์ ๊ฒฝ๋ก๊ฐ ์ ๋ฐ์ดํธ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
- ๊ฐ๋ ฅํ ๊ณต์ ๊ธฐ๋ฅ: ์์ฑํ ๊ฒฝ๋ก ๋ฐ์ดํฐ๋ฅผ URL ํ๋ผ๋ฏธํฐ๋ก ์์ถํ์ฌ ์ ๋ฌํ๊ธฐ ๋๋ฌธ์, ๋ณ๋์ ํ์๊ฐ์ ์์ด๋ ๋๊ตฌ๋ ๋ด๊ฐ ๋ง๋ ์ง๋๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
- ์ ๋ฌธ์ ์ธ ์บก์ฒ ๋๊ตฌ: ์ง๋ ํ๋ฉด์ ๊ณ ํด์๋ ์ด๋ฏธ์ง๋ก ์ฆ์ ์ ์ฅํ์ฌ ๋ณด๊ณ ์๋ ๊ฐ์ธ ์ผ์ ํ์ ํ์ฉํ๊ธฐ ์ข์ต๋๋ค.
- ๋ฐ์ํ UI/UX: PC๋ฟ๋ง ์๋๋ผ ๋ชจ๋ฐ์ผ์์๋ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ํ๋จ ์ํธ ๋ฐฉ์์ ๋ ์ด์์์ ์ ๊ณตํฉ๋๋ค.
- ๋์ฌ๋ณด๋ ์ง์: ๊ด๋ฆฌ์ ๋ชจ๋์์๋ ์ค์๊ฐ ์ ์ ํต๊ณ์ ํ๋ ๋ก๊ทธ๋ฅผ ์ฐจํธ๋ก ํ์ธํ ์ ์์ด ์๋น์ค ์ด์ ํํฉ์ ํ๋์ ํ์ ํ ์ ์์ต๋๋ค.
4. ์ฌ์ฉ๋ ๊ธฐ์ ์คํ (Tech Stack)
Backend
- Python / Flask: ๊ฐ๋ณ๊ณ ๋น ๋ฅธ ์น ์๋ฒ ๊ตฌ์ถ.
- SQLite: ์ ์ ์ด๋ ฅ ๋ฐ ๋ก๊ทธ ์ ์ฅ์ ์ํ ๊ฐ๋ฒผ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค.
- Geopy (Nominatim): ์ง๋ช ๋ฐ ์ฃผ์๋ฅผ ์๊ฒฝ๋ ์ขํ๋ก ๋ณํ(Geocoding)ํ๋ ์คํ ์์ค API ํ์ฉ.
- Werkzeug (ProxyFix): Nginx์ ๊ฐ์ ํ๋ก์ ํ๊ฒฝ์์๋ ์ ํํ ์ฌ์ฉ์ IP๋ฅผ ์ถ์ ํ๊ธฐ ์ํ ๋ฏธ๋ค์จ์ด.
Frontend
- Leaflet.js: ์ธํฐ๋ํฐ๋ธํ ์ง๋ ๋ ๋๋ง์ ์ํ ๊ฐ๋ฒผ์ด ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ.
- Vanilla JS: ์ธ๋ถ ํ๋ ์์ํฌ ์์กด์ฑ์ ์ค์ด๊ณ ๋น ๋ฅธ ์ฑ๋ฅ์ ์ํด ์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๋ก์ง ๊ตฌํ.
- Sortable.js: ๊ฒฝ๋ก ๋ฆฌ์คํธ์ ๋งค๋๋ฌ์ด ๋๋๊ทธ ์ค ๋๋กญ ๊ตฌํ.
- html2canvas: ๋ธ๋ผ์ฐ์ ํ๋ฉด์์ ์ง๋๋ฅผ ์ด๋ฏธ์ง๋ก ๋ณํ.
- Chart.js: ๋์ฌ๋ณด๋ ๋ด ํต๊ณ ๋ฐ์ดํฐ ์๊ฐํ.
- CSS (Pretendard Font): ํ๋์ ์ด๊ณ ๊ฐ๋ ์ฑ์ด ๋ฐ์ด๋ ํ๋ฆฌํ ๋ค๋ ์์ฒด์ ๋คํฌ ๋ชจ๋ ์ง์.
DevOps
- Docker / Docker Compose: ์ด๋์๋ ๋์ผํ ํ๊ฒฝ์ผ๋ก ์คํ ๊ฐ๋ฅํ๋๋ก ์ปจํ ์ด๋ํ.
- Environment Variables (.env): ๋ณด์ ์ค์ ๋ฐ ์ํฌ๋ฆฟ ํค ๊ด๋ฆฌ.
๐ ๊ฒ์ ์์ง ๊ณ ๋ํ
- Google Maps API ์ ๋ฉด ๋์
(2026.04.04)
- ๊ธฐ์กด Nominatim ์์ง์ ๋์ฒดํ์ฌ ํ๊ตญ์ด ์ฃผ์ ๊ฒ์ ๋ฐ ์ขํ ๋ณํ ์ ํ๋ ๋ํญ ํฅ์.
- ์ญ์ง์ค์ฝ๋ฉ(์ขํโ์ฃผ์) ๋ฐ ์ง์ค์ฝ๋ฉ(์ฃผ์โ์ขํ) ๊ธฐ๋ฅ ์์ ํ.
๐ ์์คํ ๊ด๋ฆฌ ๋ฐ ๋ณด์
- NPM ๊ธฐ๋ฐ ์ธ์ฆ ์ฒด๊ณ ๊ตฌ์ถ (2026.03.21)
- Nginx Proxy Manager์ Access List๋ฅผ ํ์ฉํ ์ธ๋ถ ๋ณด์ ๊ฐํ.
- ๋ด๋ถ ๋ก๊ทธ์ธ ์์คํ ์ ์ ๊ฑฐํ๊ณ ์๋ฒ ๋จ ๋ณด์์ผ๋ก ํตํฉ.
- ์ ์ ๋ก๊ทธ ๊ด๋ฆฌ ์์คํ
๊ฐํ (2026.03.22)
- ๋ก๊ทธ ์กฐํ UI ๊ฐ์ ๋ฐ IP ์ฃผ์ ํ์ ๊ธฐ๋ฅ ์ถ๊ฐ.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ก๊ทธ ์ด๊ธฐํ ๊ธฐ๋ฅ ๊ตฌํ.
โจ๏ธ ์ฌ์ฉ์ ํธ์์ฑ ๋ฐ ๋ฒ๊ทธ ์์
- UI ์กฐ์ ํธ์์ฑ ํฅ์ (2026.03.21)
- ESC ํค๋ฅผ ์ด์ฉํ ๋ชจ๋ฌ ์ฐฝ(์ ์ ๊ธฐ๋ก, ๋จ์ถํค ์ฐฝ ๋ฑ) ๋ซ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ.
- ๊ตฌ์กฐ์ ๊ฒฐํจ ์์ (2026.03.21)
index.html์ HTML ์๋งจํฑ ๊ตฌ์กฐ ๋ฐ ๋ ๋๋ง ์ค๋ฅ ํด๊ฒฐ.