πŸ—ΊοΈ RoutePlanner: μ§€λŠ₯ν˜• 경둜 μ΅œμ ν™” 및 μ‹œκ°ν™” 도ꡬ

RoutePlanner
RoutePlanner
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): λ³΄μ•ˆ μ„€μ • 및 μ‹œν¬λ¦Ώ ν‚€ 관리.

Read more

[Project] QR Label Studio: μ—‘μ…€ 데이터λ₯Ό 전문적인 QR 라벨 μ‹œνŠΈλ‘œ λ³€ν™˜ν•˜κΈ°

[Project] QR Label Studio: μ—‘μ…€ 데이터λ₯Ό 전문적인 QR 라벨 μ‹œνŠΈλ‘œ λ³€ν™˜ν•˜κΈ°

λ§Žμ€ μ–‘μ˜ μžμ‚°μ΄λ‚˜ λ¬Όλ₯˜λ₯Ό 관리할 λ•Œ QR μ½”λ“œλŠ” ν•„μˆ˜μ μž…λ‹ˆλ‹€. ν•˜μ§€λ§Œ 엑셀에 μ •λ¦¬λœ 수백 개의 데이터λ₯Ό 일일이 QR μ½”λ“œλ‘œ λ§Œλ“€κ³ , 또 이λ₯Ό 좜λ ₯용 라벨지에 λ”± 맞게 λ°°μΉ˜ν•˜λŠ” μž‘μ—…μ€ 맀우 λ²ˆκ±°λ‘­μŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ κ°œλ°œν•œΒ QR Label StudioλŠ” μ‚¬μš©μžκ°€ μ—‘μ…€ νŒŒμΌμ„ μ—…λ‘œλ“œν•˜λ©΄ 클릭 λͺ‡ 번만으둜 폼텍(Formtec) κ·œκ²©μ— 맞좘 μ™„λ²½ν•œ PDF

By Yunho Kim
πŸ’§ PureFlow: λ‚΄ μ†μ•ˆμ˜ 슀마트 μ†Œλͺ¨ν’ˆ ꡐ체 관리 μ†”λ£¨μ…˜

πŸ’§ PureFlow: λ‚΄ μ†μ•ˆμ˜ 슀마트 μ†Œλͺ¨ν’ˆ ꡐ체 관리 μ†”λ£¨μ…˜

κ°€μ •μš© μ •μˆ˜κΈ° ν•„ν„°, 곡기청정기 ν•„ν„°, μžλ™μ°¨ 와이퍼... ꡐ체 μ£ΌκΈ°λŠ” λ‹€ 제각각인데 맀번 λ‚ μ§œλ₯Ό κΈ°μ–΅ν•˜κΈ° νž˜λ“œμ…¨λ‚˜μš”?Β PureFlowλŠ” λ³΅μž‘ν•œ μ„€μ • 없이 QR μ½”λ“œλ₯Ό 톡해 μ¦‰μ‹œ μ†Œλͺ¨ν’ˆμ˜ 생애주기λ₯Ό ν™•μΈν•˜κ³  기둝할 수 μžˆλŠ” 가볍고 κ°•λ ₯ν•œ μ…€ν”„ ν˜ΈμŠ€νŒ… 관리 λ„κ΅¬μž…λ‹ˆλ‹€. 🌟 μ£Όμš” νŠΉμ§• (Key Features) * λͺ¨λ°”일 퍼슀트 λ””μžμΈ: iPhone, Android λ“± μŠ€λ§ˆνŠΈν°μ—μ„œ ν•œ μ†μœΌλ‘œ μ‘°μž‘ν•˜κΈ° μ΅œμ ν™”λœ

By Yunho Kim