Skip to content

πŸ‹κ±΄κ°• 의료 정보 제곡 ν”Œλž«νΌ

Notifications You must be signed in to change notification settings

team-helloz/Lemonaid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‹ Lemonaid

Lemonaid

β˜€οΈ 기획배경

λͺΈμ— 이상 징후가 μžˆμ„ 경우, 그에 λŒ€ν•œ μ§ˆλ³‘μ„ μ•ŒκΈ°κ°€ 쉽지 μ•ŠμŠ΅λ‹ˆλ‹€.

μ§ˆλ³‘μ„ μ•Œμ•„λ„ μ–΄λ–€ λ³‘μ›μ—μ„œ ν•΄λ‹Ή μ§ˆλ³‘μ„ μ§„λ£Œν•΄μ£ΌλŠ”μ§€ μ•ŒκΈ° μ–΄λ ΅μŠ΅λ‹ˆλ‹€.

μ²˜λ°©λ°›μ€ 약에 λŒ€ν•œ 정보λ₯Ό 얻을 방법이 μ œν•œμ μž…λ‹ˆλ‹€.

κ·Έλž˜μ„œ 이λ₯Ό ν•΄κ²°ν•  Lemonaidλ₯Ό κΈ°νšν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

πŸ‘» μ„œλΉ„μŠ€ μ£Όμš”λ‚΄μš©

  • μ£Όμ†Œ 기반 μ£Όλ³€μ˜ μ˜λ£Œμ‹œμ„€ 쑰회(병원쒅λ₯˜, μ§„λ£Œκ³Όλͺ©, 응급싀 μ—¬λΆ€ λ“±) λ‹€μ–‘ν•œ ν˜•νƒœμ˜ μ˜λ£Œμ‹œμ„€ 정보 제곡
  • μ„ νƒν•œ 증상에 λŒ€ν•œ μ§ˆλ³‘ 쑰회
  • μ•½μ˜ μƒκΉ€μƒˆμ— λŒ€ν•œ ν•΄λ‹Ή μ•½μ˜ 정보 쑰회
  • ν˜„μž¬ μ½”λ‘œλ‚˜ ν™•μ§„μž 정보 쑰회

πŸ“£ 차별성

  • μ‚¬μš©μžμ˜ 증상에 λ”°λ₯Έ μ§ˆλ³‘ λͺ©λ‘μ„ μ œκ³΅ν•˜κ³ , μ§ˆλ³‘μ— 따라 μ§„λ£Œ κ°€λŠ₯ν•œ μ˜λ£Œμ‹œμ„€μ„ μ‘°νšŒν•  수 μžˆλ‹€.
  • 병원 규λͺ¨, μ§„λ£Œμ’…λͺ©μ— 따라 μ§„λ£Œ 쀑인 λ³‘μ›μ˜ 정보λ₯Ό μ œκ³΅ν•  수 μžˆλ‹€.
  • μ½”λ‘œλ‚˜ κ΄€λ ¨ μ˜λ£ŒκΈ°κ΄€(μ„ λ³„μ§„λ£Œμ†Œ λ“±)의 정보λ₯Ό μœ„μΉ˜μ™€ ν•¨κ»˜ 제곡 κ°€λŠ₯ν•˜λ‹€.

🌿 κΈ°λŒ€νš¨κ³Ό

  • μ‚¬μš©μžμ˜ 건강과 μ§κ²°λ˜λŠ” 만큼, μ‹ μ†ν•˜κ³  μ •ν™•ν•œ 정보λ₯Ό 전달할 수 μžˆλ‹€.
  • 정보 전달 μ‹œ, ν•΄λ‹Ή μ˜λ£ŒκΈ°κ΄€μ˜ μœ„μΉ˜ 뿐 μ•„λ‹ˆλΌ μ§„λ£Œκ³Όλͺ© λ“± λ‹€μ–‘ν•œ μ •λ³΄μ œκ³΅ν•  수 μžˆλ‹€.
  • λͺΈμ˜ 이상 징후에 λ”°λ₯Έ μ§ˆλ³‘ 정보λ₯Ό μ œκ³΅ν•  수 μžˆλ‹€.
  • 볡용 μ•½μ˜ 상세 정보λ₯Ό μ œκ³΅ν•  수 μžˆλ‹€.
  • μ½”λ‘œλ‚˜ κ΄€λ ¨ 정보λ₯Ό μ œκ³΅ν•  수 μžˆλ‹€.

🌡 μ‹œμ—° 및 μ‹œλ‚˜λ¦¬μ˜€

πŸŽ‡ Lemonaid μ„œλΉ„μŠ€ ν™”λ©΄

  • Lemonaid μ„œλΉ„μŠ€μ˜ 메인 ν™”λ©΄μž…λ‹ˆλ‹€.

Main

  • λ‹€μŒμ€ μ˜λ£ŒκΈ°κ΄€ 쑰회 ν™”λ©΄μž…λ‹ˆλ‹€. μ‚¬μš©μžμœ„μΉ˜ μ€‘μ‹¬μœΌλ‘œ 맡이 μžλ™μœΌλ‘œ μ΄λ™ν•˜κ³ , μ£Όλ³€μ˜ 병원을 κ²€μƒ‰ν•©λ‹ˆλ‹€. μ£Όμ†Œμž…λ ₯을 ν†΅ν•œ μœ„μΉ˜λ³€κ²½ κΈ°λŠ₯도 μ œκ³΅ν•©λ‹ˆλ‹€.

medical_1

  • 병원 μ’…λ₯˜, μ§„λ£Œ κ³Όλͺ©, 응급싀 μ—¬λΆ€λ₯Ό μ„ νƒν•˜μ—¬ ν•΄λ‹Ήν•˜λŠ” 병원을 κ²€μƒ‰ν•©λ‹ˆλ‹€. μ•½κ΅­ 선택 μ‹œ 약ꡭ을 κ²€μƒ‰ν•©λ‹ˆλ‹€.

medical_2

  • 병원 상세보기 μ„ νƒν•˜λ©΄ ν•΄λ‹Ή 병원 정보가 λ‚˜μ˜€κ³  지도 클릭 μ‹œ λ³‘μ›κΉŒμ§€ κΈΈμ°ΎκΈ°κ°€ μ‹€ν–‰λ©λ‹ˆλ‹€.

medical_3

  • λ‹€μŒμ€ μ˜μ•½ν’ˆ 쑰회 ν™”λ©΄μž…λ‹ˆλ‹€. μ‚¬μš©μžλ“€μ΄ κ²€μƒ‰ν•œ μ˜μ•½ν’ˆ TOP5λ¦¬μŠ€νŠΈκ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

medicine_1

  • μ•½ν’ˆλͺ…μœΌλ‘œ 검색 μ‹œ ν•΄λ‹Ήν•˜λŠ” μ•½ν’ˆ λ¦¬μŠ€νŠΈκ°€ κ²€μƒ‰λ©λ‹ˆλ‹€. μ΄ˆκΈ°ν™” μ‹œ μ›λž˜ ν™”λ©΄μœΌλ‘œ λŒμ•„κ°‘λ‹ˆλ‹€.

medicine_2

  • λͺ¨μ–‘μœΌλ‘œ 검색 μ‹œ ν•΄λ‹Ήν•˜λŠ” μ•½ν’ˆ λ¦¬μŠ€νŠΈκ°€ κ²€μƒ‰λ©λ‹ˆλ‹€. μ•½ν’ˆ 선택 μ‹œ 상세정보 ν™”λ©΄μœΌλ‘œ λ°”λ€λ‹ˆλ‹€.

medicine_3

  • λ‹€μŒμ€ 증상 쑰회 ν™”λ©΄μž…λ‹ˆλ‹€. λΆ€μœ„ λ³„λ‘œ 증상이 λ°”λ€ŒλŠ” 것을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

disease_1

  • 증상은 μ΅œλŒ€ 6개 선택가λŠ₯ν•˜κ³  μ„ νƒν•œ 증상에 따라 κ²€μƒ‰λ˜λŠ” μ§ˆλ³‘κ²°κ³Όκ°€ λ°”λ€λ‹ˆλ‹€.

disease_2

  • 증상 선택 μ‹œ 상세정보 ν™”λ©΄μœΌλ‘œ λ°”λ€Œκ³ , 상세정보 ν™”λ©΄μ—μ„œ 지도 선택 μ‹œ μ˜λ£ŒκΈ°κ΄€ ν™”λ©΄μœΌλ‘œ μ „ν™˜λ©λ‹ˆλ‹€.

disease_3

  • λ‹€μŒμ€ μ½”λ‘œλ‚˜ 정보 μ‘°νšŒν™”λ©΄μž…λ‹ˆλ‹€. λ‚ μ§œ, λ‚˜μ΄, 지역, 성별에 λŒ€ν•œ 정보λ₯Ό κ·Έλž˜ν”„λ‘œ λ³΄μ—¬μ€λ‹ˆλ‹€.

corona

κ°œλ°œν™˜κ²½

Frontend

  • IDE: VSCode
  • Node JS 16.13.x
  • Language: HTML5, Javascript, CSS3
  • Library: React 17.0.2, SCSS, TypeScript, Axios, Redux
  • Open API: Kakao Map API

Backend

  • IDE: IntelliJ 2021.3.1
  • Language: Java 1.8, Python 3.9
  • Framework: Spring Boot 2.4.5
  • Library: Spring Boot JPA, Spring Security, pandas

Data

  • MySQL 8.0.28
  • Hadoop 3.3.1
  • Sqoop 1.4.7

Server

  • Ubuntu 20.04 LTS
  • Jenkins 2.332.1
  • Nginx 1.18.0
  • Docker 20.10.13
  • Docker-compose 1.29.2

Other Tools

  • 회의둝 : Notion
  • μ½”λ“œ 관리: GitLab
  • 일정 관리: Jira
  • μ™€μ΄μ–΄ν”„λ ˆμž„: Figma
  • μ‹œν€€μŠ€ λ‹€μ΄μ–΄κ·Έλž¨: Mermaid
  • ERD μž‘μ„±: ERDCloud
  • 회의 : Webex, Mattermost, Discord

μ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜

SystemArchitecture

ER Diagram

lemonaid_erd_220407

μ•ˆλ…•μ¦ˆ νŒ€

teampng

λ°•μŠΉμ›

νŒ€μž₯을 맑아 ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λŠ” 것이 μ²˜μŒμ΄μ—¬μ„œ λ§Žμ€ 것이 λ‚―μ„€μ—ˆμŠ΅λ‹ˆλ‹€. 회의λ₯Ό μ§„ν–‰ν•˜λ©°, ν”„λ‘œμ νŠΈκ°€ λ‹€λ₯Έ 길둜 접어듀지 μ•Šλ„λ‘ 길작이의 역할을 ν•˜κΈ°λ„ ν•˜κ³ , μˆ˜λ§Žμ€ μ˜κ²¬μ„ μ‘°μœ¨ν•˜κ³  더 λ‚˜μ€ μ˜κ²¬μ„ μ΄λŒμ–΄λ‚΄λŠ” 것이 μ‰½μ§€λ§Œμ€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. κ·Έλž˜λ„ 기간이 지날 수둝 νŒ€μ›λ“€κ³Ό μ˜μ‚¬μ†Œν†΅ν•˜λŠ” 방법을 κΉ¨λ‹«κ³ , μ„œλ‘œ 응원과 κ²©λ €ν•˜λŠ” λΆ„μœ„κΈ°λ₯Ό λ§Œλ“œλŠ” 것에 λ¬˜ν•œ 희열을 느끼며, ν•œμΈ΅ μ„±μž₯ν•œ 것 κ°™μŠ΅λ‹ˆλ‹€. 이λ₯Ό κ³„κΈ°λ‘œ λ‹€μŒμ˜ ν”„λ‘œμ νŠΈμ—μ„œλŠ” 더 λ‚˜μ€ νŒ€μž₯의 λͺ¨μŠ΅μ„ 보여쀄 수 μžˆμ„ 것 κ°™μŠ΅λ‹ˆλ‹€.

빅데이터 ν”„λ‘œμ νŠΈμΈ 만큼 μˆ˜λ§Žμ€ 데이터λ₯Ό μˆ˜μ§‘ν•˜κ³  이λ₯Ό μ²˜λ¦¬ν•˜λŠ” 과정이 맀우 μ–΄λ ΅κ³  λ³΅μž‘ν–ˆμŠ΅λ‹ˆλ‹€. 빅데이터에 λ―ΈμΉ˜μ§„ λͺ»ν–ˆμ§€λ§Œ μˆ˜λ§Žμ€ 데이터λ₯Ό μ²˜λ¦¬ν•˜μ—¬ μš°λ¦¬μ—κ²Œ ν•„μš”ν•œ 데이터λ₯Ό μΆ”μΆœν•˜κ³  λΆ„μ‚°μ²˜λ¦¬ν•˜λŠ” 과정을 톡해 데이터 뢄야에 λ”μš± 관심을 κ°€μ§€κ²Œ 된 것 κ°™μŠ΅λ‹ˆλ‹€. μ•žμœΌλ‘œ ν”„λ‘œμ νŠΈλ₯Ό 진행할 λ•ŒλŠ” μŠ€νŒŒν¬μ™€ 같은 λ‹€λ₯Έ 빅데이터 λΌμ΄λΈŒλŸ¬λ¦¬λ„ ν•¨κ»˜ μ‚¬μš©ν•΄λ³΄κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

μ§€μˆ˜μ—°

ν•˜λ‘‘μ„ κ°„λ‹¨ν•œ Word Countμ—λ§Œ μ‚¬μš©ν•˜κ²Œ λ˜μ–΄μ„œ μ•„μ‰¬μš΄ 점은 μžˆμ—ˆμ§€λ§Œ λ§Žμ€ μ–‘μ˜ 데이터λ₯Ό 가지고 ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ‹€λ³΄λ‹ˆ 데이터λ₯Ό μ–΄λ–»κ²Œ ν•˜λ©΄ μ’€ 더 λΉ λ₯΄κ³  보기 μ’‹κ²Œ μ œκ³΅ν•  수 μžˆμ„κΉŒμ— λŒ€ν•œ 생각을 ν•  수 있게 된 계기가 λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ 배포 과정에 λŒ€ν•΄ μ’€ 더 μ΅μˆ™ν•΄μ§ˆ 수 μžˆμ–΄ μ’‹μ•˜κ³ , νŒ€μ›λΆ„λ“€μ΄ 각각의 역할을 묡묡히 ν•΄λ‚˜μ£Όμ…”μ„œ 물흐λ₯΄λ“―이 μ§€λ‚˜κ°ˆ 수 μžˆμ—ˆλ˜ 것 κ°™μŠ΅λ‹ˆλ‹€. μž¬λ°Œμ—ˆμŠ΅λ‹ˆλ‹€!

이진곀

λΉ…λ°μ΄ν„°λΌλŠ” 주제λ₯Ό 처음 λ‹€λ€„λ³΄λŠ”μ§€λΌ λ‚œκ΄€μ΄ λ§Žμ•˜μ§€λ§Œ, 데이터 μˆ˜μ§‘ κ³Όμ •λΆ€ν„° μ „μ²˜λ¦¬, λΆ„μ‚°μ²˜λ¦¬λ₯Ό 거쳐 DB에 두고 ν”„λ‘œμ νŠΈμ— λ…Ήμ—¬λ‚΄κΈ°κΉŒμ§€ 일련의 과정을 배울 수 μžˆλŠ” 쒋은 κ²½ν—˜μ΄μ—ˆμŠ΅λ‹ˆλ‹€. μŠ€ν”„λ§ λΆ€νŠΈλ‘œ λ°±μ—”λ“œλ₯Ό κ°œλ°œν•˜λŠ” 데에도 점점 λŠ₯μˆ™ν•΄μ§€λŠ” 것 κ°™κ³ , 이전 ν”„λ‘œμ νŠΈμ—μ„œ 해보고 μ‹Άμ—ˆμ§€λ§Œ ν•˜μ§€ λͺ»ν–ˆλ˜ 배포 과정도 직접 닀뀄볼 수 μžˆμ–΄μ„œ μ’‹μ•˜μŠ΅λ‹ˆλ‹€. λ“ λ“ ν•œ νŒ€μ›λ“€ 덕뢄에 ν›Œλ₯­ν•œ ν”„λ‘œμ νŠΈλ₯Ό λ§Œλ“€μ–΄λ‚΄λŠ” 쒋은 κ²½ν—˜μ„ ν•  수 μžˆμ—ˆλ˜ 것 κ°™μŠ΅λ‹ˆλ‹€. λ‹€μŒ ν”„λ‘œμ νŠΈμ—λ„ μ—΄μ‹¬νžˆ μž„ν•˜μ—¬ 쒋은 결과물을 λ§Œλ“€μ–΄λ‚΄κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

μ΄μ’…ν˜„

빅데이터 λΆ„μ‚°μ΄λΌλŠ” λ„λ©”μΈμœΌλ‘œ 아이디어λ₯Ό λ„μΆœν•΄λ‚΄κΈ° νž˜λ“€μ—ˆλŠ”λ° μ‹€μƒν™œμ— 도움이 될 수 μžˆλŠ” 쒋은 아이디어λ₯Ό 찾은 것 κ°™μ•„ λΏŒλ“―ν–ˆμŠ΅λ‹ˆλ‹€. λ‹€μ†Œ λΆ€μ‘±ν•œ μ‹œκ°„μ΄μ—ˆμ§€λ§Œ νŒ€μ›λ“€κ³Όμ˜ ν˜‘μ—…μ„ 톡해 잘 λ§ˆλ¬΄λ¦¬ν•  수 μžˆμ—ˆλ˜ 것 κ°™μŠ΅λ‹ˆλ‹€. Reactλ₯Ό 2번째둜 μ‚¬μš©ν•΄λ΄€λŠ”λ° μ΄μ œλŠ” 많이 μ΅μˆ™ν•΄μ‘ŒμŠ΅λ‹ˆλ‹€. νŒ€μ›λ“€κ³Όμ˜ ν˜‘λ™μ΄ μ€‘μš”ν•˜λ‹€λŠ” 것을 λ‹€μ‹œ ν•œλ²ˆ 깨달을 수 μžˆμ—ˆλ˜ ν”„λ‘œμ νŠΈμ˜€λ˜ 것 κ°™μŠ΅λ‹ˆλ‹€.

μ΄μƒν˜„

μ£Όμ œμ„ μ •μ΄ λŠ¦μ–΄μ‘ŒμŒμ—λ„ νŒ€μ›λ“€ λͺ¨λ‘κ°€ μ—΄μ‹¬νžˆν•˜λŠ” λΆ„μœ„κΈ°μ—¬μ„œ μ΄ˆκΈ°μ— κΈ°νšν–ˆλ˜λŒ€λ‘œ 결과물을 μ™„μ„±ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. ν”Όλ“œλ°±μ„ μ£Όκ³  λ°›μœΌλ©΄μ„œ ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν–ˆκΈ° λ•Œλ¬Έμ— ν˜Όμžμ„  μƒκ°ν•˜μ§€ λͺ»ν–ˆλ˜ 뢀뢄듀을 찾을 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. ν”„λ‘œμ νŠΈ μ§„ν–‰ν•˜λ‹€λ³΄λ‹ˆ 쀑간쀑간에 API μˆ˜μ • μš”μ²­λ„ 자주 ν–ˆμ—ˆλŠ”λ° 빨리 μˆ˜μ •ν•΄μ€˜μ„œ κ³ λ§ˆμ› μŠ΅λ‹ˆλ‹€. λ¦¬μ•‘νŠΈμ™€ νƒ€μž…μŠ€ν¬λ¦½νŠΈμ— λŒ€ν•΄ ν•œμΈ΅ 더 곡뢀할 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ‹€μŒ ν”„λ‘œμ νŠΈ μ§„ν–‰ν•˜λŠ”λ° 큰 도움이 될 것 κ°™μŠ΅λ‹ˆλ‹€.

μ΄μˆ˜ν™˜

빅데이터라고 ν•  μˆ˜μ€€μ˜ 데이터 양이 μ•„λ‹ˆμ—ˆμŒμ—λ„ λΆˆκ΅¬ν•˜κ³  ν•΄λ‹Ή 데이터λ₯Ό μˆ˜μ§‘ν•˜κ³  μ •μ œν•˜μ—¬ λΆ„μ‚°μ²˜λ¦¬ ν•˜λŠ” 것이 쉽지 μ•Šμ•˜μŠ΅λ‹ˆλ‹€. 이 κ²½ν—˜μ„ ν†΅ν•΄μ„œ 빅데이터λ₯Ό λΆ„μ‚°μ²˜λ¦¬ν•˜λŠ” μž‘μ—…μ΄ μ„œλΉ„μŠ€λ₯Ό μš΄μ˜ν•˜κ³  μ‚¬μš©μžμ˜ κ²½ν—˜μ„ ν–₯μƒμ‹œν‚€κΈ° μœ„ν•΄ 맀우 μ£Όμš”ν•˜λ‹€λŠ” 것을 λŠλ‚„ 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

React와 Typescript μ—­μ‹œ 처음 ν™œμš©ν•˜λ‹€λ³΄λ‹ˆ μ μ‘ν•˜λŠ”λ° μ‹œκ°„μ΄ κ±Έλ ΈμœΌλ‚˜ νŒ€μ›λ“€μ΄ 잘 도와쀀 덕뢄에 λΉ λ₯΄κ²Œ μ μ‘ν•΄μ„œ μž‘μ—…μ„ 진행할 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ Typescriptλ₯Ό μ§€μ›ν•˜μ§€ μ•ŠλŠ” 라이브러리λ₯Ό ν™œμš©ν•˜λŠ” κ³Όμ •μ—μ„œ ν•΄κ²°ν•˜μ§€ λͺ»ν•˜κ³  μ‚¬μš©ν•˜μ§€ λͺ»ν•œ 뢀뢄이 λ°œμƒν–ˆλŠ”λ° 좔가적인 ν•™μŠ΅μ„ 톡해 λ‹€μŒ ν”„λ‘œμ νŠΈμ—μ„œ 보닀 완성도 높은 결과물을 얻을 수 μžˆλ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

About

πŸ‹κ±΄κ°• 의료 정보 제곡 ν”Œλž«νΌ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published