Skip to content
@4onmedicine

4onmedicine

4온 μ•½ μ–΄λ•Œ?

πŸ’Š μ˜μ•½ν’ˆ κ°„νŽΈ 검색 μ„œλΉ„μŠ€, 4온 μ•½ μ–΄λ•Œ? πŸ’Š

Untitled

μ˜μ•½ν’ˆμ— λŒ€ν•œ μ‹ λ’°μ„± μžˆλŠ” 정보λ₯Ό μ œκ³΅ν•˜λŠ” μ„œλΉ„μŠ€

μ‚¬μ΄νŠΈ 도메인: https://4onmedicine.kro.kr

λ©‹μŸμ΄ μ‚¬μžμ²˜λŸΌ 12κΈ° 해컀톀

πŸ”ŽΒ Introduction(μ†Œκ°œ)


Untitled 1

기획 배경

  1. 일반인이 μ˜μ•½ν’ˆμ— λŒ€ν•œ 정보λ₯Ό μ–»κΈ° 쉽지 μ•Šκ³  과정이 λ³΅μž‘ν•©λ‹ˆλ‹€.

  2. μ²˜λ°©μ „μ— μ˜μ•½ν’ˆμ— λŒ€ν•œ 정보가 μ—†κ±°λ‚˜, μžˆλ”λΌλ„ λˆ„λ½λœ 정보가 μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

  3. ν•œλ²ˆμ— 건강 정보λ₯Ό νšλ“ν•  수 μžˆλŠ” νšλ“μ²˜κ°€ μ—†μŠ΅λ‹ˆλ‹€.

μ„œλΉ„μŠ€ νŠΉμ§•

  1. 일반인이 μ˜μ•½ν’ˆ 정보λ₯Ό μ‰½κ²Œ 검색, μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  2. μ²˜λ°©μ „μ„ μ—…λ‘œλ“œν•˜λ©΄ 이미지 뢄석을 톡해 μ²˜λ°©μ „μ— μžˆλŠ” μ˜μ•½ν’ˆ 정보λ₯Ό μ „λ‹¬ν•©λ‹ˆλ‹€.

  3. gpt Apiλ₯Ό 톡해 μ „λ°˜μ μΈ 건강 κ΄€λ ¨ 정보λ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ–₯οΈΒ νŽ˜μ΄μ§€(page)


1) λ©”μΈνŽ˜μ΄μ§€(MainPage)

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-08-06_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_9 15 50

μ›Ήμ‚¬μ΄νŠΈμ— μ ‘μ†μ‹œ 처음 λ³΄μ΄λŠ” νŽ˜μ΄μ§€μž…λ‹ˆλ‹€. λ³Έ νŽ˜μ΄μ§€μ—μ„œ μ˜μ•½ν’ˆμ„ κ²€μƒ‰ν•˜κ±°λ‚˜, μ²˜λ°©μ „μ„ μ—…λ‘œλ“œν•˜κΈ° μœ„ν•œ νŽ˜μ΄μ§€λ‘œ 이동할 수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ, 우츑 ν•˜λ‹¨ μ±„νŒ… λ²„νŠΌμ„ μž…λ ₯ν•˜μ—¬ gpt와 λŒ€ν™”ν•˜λ©°, 건강에 λŒ€ν•œ 정보λ₯Ό 얻을 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

2) μ±„νŒ…νŽ˜μ΄μ§€(ChattingPage)

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-08-06_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_9 17 44 %E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-08-06_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_9 19 22

μ›Ήμ‚¬μ΄νŠΈ 우츑 ν•˜λ‹¨ μ±„νŒ… λ²„νŠΌμ„ λˆ„λ₯΄λ©΄ λ³΄μ΄λŠ” νŽ˜μ΄μ§€μž…λ‹ˆλ‹€. λ³Έ νŽ˜μ΄μ§€μ˜ ν•˜λ‹¨ 인풋에 건강에 λŒ€ν•œ μ§ˆλ¬Έμ„ μž…λ ₯ν•˜λ©΄ gptκ°€ μ§ˆλ¬Έμ— λŒ€ν•œ 닡변을 μ œκ³΅ν•©λ‹ˆλ‹€.

3) μ˜μ•½ν’ˆ 상세 νŽ˜μ΄μ§€(MedicinePage)

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-08-06_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_9 20 54

λ©”μΈνŽ˜μ΄μ§€μ—μ„œ μ˜μ•½ν’ˆ 정보λ₯Ό 검색해 ν΄λ¦­ν•˜λ©΄ λ³΄μ΄λŠ” νŽ˜μ΄μ§€μž…λ‹ˆλ‹€. κ²€μƒ‰ν•œ μ˜μ•½ν’ˆμ— λŒ€ν•œ 이미지와 효λŠ₯, μ‚¬μš©λ²•, μ£Όμ˜μ‚¬ν•­, μƒν˜Έμž‘μš©μ— λŒ€ν•œ 정보λ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€.

4) μ²˜λ°©μ „ μ—…λ‘œλ“œνŽ˜μ΄μ§€(PrescriptionPage)

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-08-06_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_9 22 32

μ‚¬μ΄νŠΈ 상단 λ„€λΉ„κ²Œμ΄μ…˜λ°”μ—μ„œ μ²˜λ°©μ „ 검색을 ν΄λ¦­ν•˜λ©΄ λ³΄μ΄λŠ” νŽ˜μ΄μ§€μž…λ‹ˆλ‹€. μ²˜λ°©μ „ 이미지λ₯Ό μ—…λ‘œλ“œν•˜λ©΄ μ²˜λ°©μ „μ— μž‘μ„±λœ μ˜μ•½ν’ˆμ˜ λ³΄ν—˜μ½”λ“œλ₯Ό μΆ”μΆœν•΄μ—¬ μ˜μ•½ν’ˆ μƒμ„ΈνŽ˜μ΄μ§€λ‘œ 이동해 μ˜μ•½ν’ˆμ— λŒ€ν•œ 정보λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

데λͺ¨(Demo)

1) 검색창을 ν†΅ν•œ μ˜μ•½ν’ˆ 검색

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-08-06_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_9 25 58

μΉ΄ν…Œκ³ λ¦¬μ—μ„œ β€˜μ•½β€™μ„ μ„ νƒν•˜κ³  μ˜μ•½ν’ˆμ„ ν΄λ¦­ν•©λ‹ˆλ‹€.

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-08-06_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_9 27 59

κ²€μƒ‰ν•œ μ˜μ•½ν’ˆ νŽ˜μ΄μ§€λ‘œ 이동해 ν•΄λ‹Ή μ˜μ•½ν’ˆμ— λŒ€ν•œ 정보λ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€.

2) μ²˜λ°©μ „μ„ ν†΅ν•œ μ˜μ•½ν’ˆ 검색

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-08-06_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_9 29 24 %E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-08-06_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_9 32 57

μ²˜λ°©μ „ 검색 νŽ˜μ΄μ§€μ—μ„œ 우츑 이미지와 같이 λ³΄ν—˜μ½”λ“œκ°€ 적힌 μ²˜λ°©μ „μ„ 촬영 ν›„ μ—…λ‘œλ“œν•©λ‹ˆλ‹€. λ³Έ 데λͺ¨μ—μ„œλŠ” β€˜νƒ€μ„Έλ†€8μ‹œκ°„μ΄μ•Œμ„œλ°©μ •β€™κ³Ό β€˜νƒ€μ΄λ ˆλ†€8μ‹œκ°„μ΄μ•Œμ„œλ°©μ •β€™μ΄ 적힌 μ²˜λ°©μ „μ„ μ—…λ‘œλ“œν•˜μ˜€μŠ΅λ‹ˆλ‹€.

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-08-06_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_9 34 18

μ²˜λ°©μ „μ— λ‚˜μ™€μžˆλŠ” μ˜μ•½ν’ˆμΈ β€˜νƒ€μ„Έλ†€8μ‹œκ°„μ΄μ•Œμ„œλ°©μ •β€™κ³Ό β€˜νƒ€μ΄λ ˆλ†€8μ‹œκ°„μ΄μ•Œμ„œλ°©μ •β€™μ— λŒ€ν•œ 정보λ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€. μ²˜λ°©μ „μ— λŒ€ν•œ μ˜μ•½ν’ˆ 상세 νŽ˜μ΄μ§€λŠ” μŠ¬λΌμ΄λ“œλ‘œ κ΅¬ν˜„λ˜μ–΄ μŠ¬λΌμ΄λ“œλ₯Ό λ„˜κ²¨ μ²˜λ°©μ „μ— μž‘μ„±λœ λͺ¨λ“  μ˜μ•½ν’ˆμ— λŒ€ν•œ 정보λ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€.

3) μ±„νŒ…

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-08-06_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_9 37 53 %E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-08-06_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_9 38 20

λͺ¨λ“  νŽ˜μ΄μ§€μ˜ 우츑 ν•˜λ‹¨μ— μžˆλŠ” μ±„νŒ… λ²„νŠΌμ„ ν΄λ¦­ν•˜κ³ , λ‹€μŒ μ±„νŒ… νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•©λ‹ˆλ‹€.

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-08-06_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_9 38 55

μ±„νŒ… νŽ˜μ΄μ§€ ν•˜λ‹¨ 인풋에 건강과 κ΄€λ ¨λœ μ§ˆλ¬Έμ„ μž‘μ„±ν•˜κ³  μ—”ν„°ν‚€λ₯Ό λˆ„λ¦…λ‹ˆλ‹€. λ³Έ 데λͺ¨μ—μ„œ β€˜λͺ©κ°κΈ°μ— 쒋은 약을 μΆ”μ²œν•΄μ€˜'λΌλŠ” 글을 μž‘μ„±ν•©λ‹ˆλ‹€. κ·Έ ν›„ gptκ°€ μ§ˆλ¬Έμ— λŒ€ν•œ 닡변을 μ œκ³΅ν•©λ‹ˆλ‹€.

πŸ“œ 아킀텍쳐(Architecture)

Untitled 2

πŸ’‘Β κΈ°μˆ  μŠ€νƒ(Tech Stack)

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-08-06_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_9 42 57
  • ν”„λ‘ νŠΈ 파트(Front part): react
  • λ°±μ—”λ“œ 파트(Backend part): Spring Boot, Flask
  • 배포(Deployment): GoogleCloud, Amazon AWS, Docker, Nginx, Github Actions
  • 이 μ™Έ(Other): Swagger

πŸ“ŒΒ κΉƒν—ˆλΈŒ μ£Όμ†Œ

πŸ“‚Β λ””λ ‰ν† λ¦¬ ꡬ쑰


1) ν”„λ‘ νŠΈ 디렉토리(frontend directory)

front/
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ favicon.ico
β”‚   β”œβ”€β”€ index.html
β”‚   └── robots.txt
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ assets/
β”‚   β”‚   β”œβ”€β”€ logo.png
β”‚   β”‚   └── styles.css
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ Header.tsx
β”‚   β”‚   β”œβ”€β”€ Footer.tsx
β”‚   β”‚   └── SearchBar.tsx
β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ Home.tsx
β”‚   β”‚   β”œβ”€β”€ SearchResults.tsx
β”‚   β”‚   └── Prescription.tsx
β”‚   β”œβ”€β”€ App.tsx
β”‚   β”œβ”€β”€ index.tsx
β”‚   └── routes.tsx
β”œβ”€β”€ .env
β”œβ”€β”€ .eslintrc.cjs
β”œβ”€β”€ .gitignore
β”œβ”€β”€ package-lock.json
β”œβ”€β”€ package.json
β”œβ”€β”€ README.md
└── vite.config.js

2) λ°±μ—”λ“œ 디렉토리(backend directory)

.
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ Dockerfile-nginx
β”œβ”€β”€ build
β”œβ”€β”€ build.gradle
β”œβ”€β”€ gradle
β”œβ”€β”€ gradlew
β”œβ”€β”€ gradlew.bat
β”œβ”€β”€ nginx
β”‚Β Β  └── conf.d
β”‚Β Β      └── nginx.conf
β”œβ”€β”€ settings.gradle
└── src
    β”œβ”€β”€ main
    β”‚Β Β  β”œβ”€β”€ java
    β”‚Β Β  β”‚Β Β  └── com
    β”‚Β Β  β”‚Β Β      └── medicine
    β”‚Β Β  β”‚Β Β          └── backend
    β”‚Β Β  β”‚Β Β              β”œβ”€β”€ BackendApplication.java
    β”‚Β Β  β”‚Β Β              └── medicine
    β”‚Β Β  β”‚Β Β                  β”œβ”€β”€ config
    β”‚Β Β  β”‚Β Β                  β”‚Β Β  β”œβ”€β”€ CorsMvcConfig.java
    β”‚Β Β  β”‚Β Β                  β”‚Β Β  └── SwaggerConfig.java
    β”‚Β Β  β”‚Β Β                  β”œβ”€β”€ controller
    β”‚Β Β  β”‚Β Β                  β”‚Β Β  β”œβ”€β”€ FlaskController.java
    β”‚Β Β  β”‚Β Β                  β”‚Β Β  └── MedicineController.java
    β”‚Β Β  β”‚Β Β                  └── dto
    β”‚Β Β  β”‚Β Β                      β”œβ”€β”€ ChatRequest.java
    β”‚Β Β  β”‚Β Β                      β”œβ”€β”€ ImgMedicineDetail.java
    β”‚Β Β  β”‚Β Β                      β”œβ”€β”€ ImgPayload.java
    β”‚Β Β  β”‚Β Β                      β”œβ”€β”€ MedicineDetail.java
    β”‚Β Β  β”‚Β Β                      └── MedicineInfo.java
    β”‚Β Β  └── resources
    β”‚Β Β      └── application.properties
    └── test
        └── java
            └── com
                └── medicine
                    └── backend
                        └── BackendApplicationTests.java

πŸ§‘πŸ»β€πŸ’»Β νŒ€μ›(Team Member)

https://github.com/HANTAEDONG https://github.com/huzan2 https://github.com/cjh-19 https://github.com/LEEJH1029 https://github.com/jangwonjun
Frontend Developer Frontend Developer Backend Developer, CI/CD Backend Developer Backend Developer

Pinned Loading

  1. backend backend Public

    πŸ’Š μ˜μ•½ν’ˆ κ°„νŽΈ 검색 μ„œλΉ„μŠ€, 4온 μ•½ μ–΄λ•Œ? BE(Spring) πŸ’Š

    Java 2

  2. backend2 backend2 Public

    πŸ’Š μ˜μ•½ν’ˆ κ°„νŽΈ 검색 μ„œλΉ„μŠ€, 4온 μ•½ μ–΄λ•Œ? BE(Flask) πŸ’Š

    Python 1

  3. front front Public

    πŸ’Š μ˜μ•½ν’ˆ κ°„νŽΈ 검색 μ„œλΉ„μŠ€, 4온 μ•½ μ–΄λ•Œ? FE πŸ’Š

    JavaScript

Repositories

Showing 4 of 4 repositories

Top languages

Loading…

Most used topics

Loading…