320x100
320x100

1. 요구사항 정의
목적
: 사용자가 올바르게 약을 복용할 수 있도록 약에 대한 정보 (이름 / 제조사 / 용법 / 용량 / 주의사항)와 사용자 주변 약국의 위치 정보를 제공한다.

제공하는 기능
- 알약 검색 (의약품 식별 검색)
: 알약의 색, 제형, 모양, 색상 등 사용자가 선택한 정보를 통해 정보를 제공한다.

- 알약 검색 (이미지 검색)
: 사용자가 촬영한 알약의 사진을 통해 정보를 제공한다.

- 사용자 주변 약국 정보 (내 주변 약국)
: GPS를 기반으로 사용자 주변의 약국을 지도에 표시한다.

- 알약 정보 저장 (내 알약)
: 알약 검색을 통해 검색한 알약을 




2. 시스템 아키텍처
구성
- 애플리케이션 (프론트엔드 및 사용자 UI)
: react-native 기반
: 자체 DB 사용

- 메인 서버 (백엔드)
: nodeJS 기반


- 딥러닝 서버 (백엔드)
: python 기반

- DB 서버 (백엔드)
: mongoDB




3. 메인 서버 아키텍처
구성
- api
- config
- loader
- services
- queries
- models
- util


요구사항
- 식별 데이터 검색 (식별 검색)
: 애플리케이션으로 부터 request 받은 알약 정보 데이터를 통해 DB에서 식별 데이터 쿼리 후
  의약품 주요 정보 조회 API를 호출하여 받은 데이터를 response 한다
: response는 array로 보낸다

- 식별 데이터 검색 (이미지 검색)
: 애플리케이션으로 부터 request 받은 알약 사진을 딥러닝 서버로 request 보내고 딥러닝 서버에서 식별 해낸 정보를 통해
  DB에서 식별 데이터 쿼리 후 의약품 주요 정보 조회 API를 호출하여 받은 데이터를 response 한다
: response는 array로 보낸다


데이터 형
- 식별 검색
: request (JSON / 식별표시, 제형, 모양, 색상, 분할선 등)
: response (JSON array)

- 이미지 검색
: request (JSON / base64 이미지) <딥러닝 서버로 request>
: response (JSON array)


식별 검색 로직
: 프론트엔드로 부터 요청
: DB 쿼리
: 쿼리 결과로 의약품 주요 정보 조회 API 호출
: 프론트엔드에 응답


DB 데이터
- 의약품 낱알 식별 정보 데이터 (2012 ~ 2021)
: https://data.mfds.go.kr/OPCAC01F01/search?loginCk=false&aplyYn=&taskDivsCd=3&srchSrvcKorNm=%EC%8B%9D%EB%B3%84
: 품목 일련번호 / 품목명 / 업체일련번호 / 업체명 / 성상(제형) / 이미지 / 모양 / 색 등
: 데이터형 참조
 > https://www.data.go.kr/data/15057639/openapi.do
: 클라이언트에서 제형, 이미지, 모양, 색 등의 정보를 주면 WHERE 조건으로 넣어서 쿼리




4. 사용 API 선정
: DB의 품목 일련번호 및 업체 일련번호를 파라미터로 하여 API 호출

- e약은요
https://www.data.go.kr/data/15075057/openapi.do
: 품목기준코드 (품목 일련번호)로 req
: 업체명 / 제품명 / 품목기준코드 / 효능 / 사용법 / 주의사항 등 response

- 대조약 조회
https://www.data.go.kr/data/15058806/openapi.do
: 제품명으로 req
: 성분명 / 제품명 / 업체명 / 제형 res

- 식품의약품안전처_의약품 제품 허가정보
https://www.data.go.kr/data/15095677/openapi.do
: 품목기준코드로 req
: 품목명 / 업체명 / 허가일자 / 위탁제조일자 / 효능효과 / 용법용량 / 주의사항 / 저장방법 / 원료성분
: 효능효과 / 용법용량 / 주의사항 문서 데이터가 있음 (XML 형태) > e약은요 대신 이걸로 사용




5. 개발 순서
1차
: DB 스키마 설계 (속성 / 데이터형)
: rest 데이터 타입 설계 (req/res) / API URL 정의
: DB 모델 및 API 구현
: util 및 loader 구현

2차
: 로직 구현 (식별 검색 / 이미지 검색)=
: 쿼리 구현 (DB CRUD)

3차
: Dockerization + CI/CD 환경 구축
: 서비스 개시

300x250
728x90