약과 약 사이 안 맞는 조합을 알려주는 스마트한 약물 안전성 검사 서비스입니다.
- 약 포장지나 처방전 사진을 업로드하여 자동으로 약물명 추출
- OCR 기술을 활용한 정확한 텍스트 인식
- 최대 2장의 사진 동시 업로드 지원
- 약물명을 기반으로 성분 정보 자동 조회
- DUR(Drug Utilization Review) 시스템을 통한 상호작용 검사
- AI 기반 자연어 해석으로 이해하기 쉬운 결과 제공
- OCR 결과 확인 및 수정 기능
- 약물 추가/삭제/편집 인터페이스
- 직관적인 탭 기반 UI로 여러 약물 그룹 관리
- 상호작용이 발견된 약물 조합 시각화
- 주의사항 및 복용 가이드 제공
- 아코디언 형태의 상세 정보 표시
- Frontend: Next.js 15, React 18, TypeScript
- UI Framework: Tailwind CSS, shadcn/ui
- 상태 관리: React Hooks (useState, useEffect)
- 이미지 처리: Next.js Image 컴포넌트
- API 통신: Axios API
- 개발 도구: Prettier, ESLint, TypeScript
- Node.js 18.0 이상
- pnpm
- 저장소 클론
git clone https://github.com/YakSockLab/yaksock-webapp.git
cd yaksock-webapp- 의존성 설치
pnpm i
pnpm approve-builds # -a -y- 개발 서버 실행
pnpm run dev- 브라우저에서 http://localhost:3000 접속
# 프로덕션 빌드
pnpm run build
# 빌드된 앱 실행
pnpm startyaksock-webapp/
├── app/
│ ├── globals.css # 전역 스타일
│ ├── layout.tsx # 전체 레이아웃 컴포넌트
│ └── page.tsx # 메인 애플리케이션 컴포넌트
├── components/
│ ├── ui/ # shadcn/ui 컴포넌트들
│ └── splash-screen.tsx # 스플래시 화면 컴포넌트
├── hooks/
│ └── use-privacy-consent.ts # 개인정보 동의 관리 훅
├── public/
│ ├── mascot.svg # 약속 마스코트 이미지
│ └── ... # 기타 정적 파일들
├── .prettierrc # Prettier 설정
├── next.config.mjs # Next.js 설정
├── tailwind.config.ts # Tailwind CSS 설정
└── package.json
애플리케이션은 다음 API 엔드포인트들을 사용합니다:
POST /api/upload-image- 이미지 업로드POST /api/ocr-extract- OCR을 통한 텍스트 추출POST /api/drug-to-ingredient- 약물명을 성분으로 변환POST /api/check-drug-interaction- 약물 상호작용 검사POST /api/llm-interpretation- AI 기반 결과 해석
- 서비스 소개 및 시작 버튼
- 개인정보 처리방침 링크
- 드래그 앤 드롭 또는 클릭으로 이미지 업로드
- 최대 2장까지 업로드 가능
- JPG/PNG 형식, 10MB 이하 제한
- 약물명 추출 진행 상황 표시
- 로딩 애니메이션
- OCR 결과 확인 및 수정
- 약물 추가/삭제/편집 기능
- 탭 기반 인터페이스
- 성분 분석 및 상호작용 검사 진행 상황
- 단계별 진행 표시
- 상호작용 검사 결과 표시
- 주의사항 및 상세 정보 제공
- 아코디언 형태의 상세 보기
- 모바일 우선 설계
- 가로/세로 모드 지원
- 동적 폰트 크기 조정
- 로컬 스토리지를 통한 동의 상태 관리
- 전송된 이미지는 분석 이후 즉시 폐기
- 개인정보 처리방침 및 이용약관 제공
- 이 저장소를 포크합니다
- 새로운 기능 브랜치를 생성합니다 (
git checkout -b feat/amazing-feature) - 변경사항을 커밋합니다 (
git commit -m 'Add some amazing feature') - 브랜치에 푸시합니다 (
git push origin feat/amazing-feature) - Pull Request를 생성합니다
프로젝트에 대한 질문이나 제안사항이 있으시면 이슈를 생성해 주세요.
약속(YakSock) - 안전한 복약을 위한 스마트한 선택 🏥💊