πΊοΈ 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): 보μ μ€μ λ° μν¬λ¦Ώ ν€ κ΄λ¦¬.