Skip to content
limkangmin edited this page Apr 9, 2024 · 14 revisions

캡스톤 활동 보고서

[1] 기능 명세서

기능 제목:카카오톡 API를 이용한 원클릭 로그인/회원가입

기능 개요

이 기능을 통해 사용자는 자신의 카카오톡 계정을 사용하여 어플리케이션에 로그인하거나 회원가입을 할 수 있다. 사용자가 카카오 계정으로 로그인 하는 경우, 별도의 회원가입 절차 없이 어플리케이션의 모든 기능을 이용할 수 있어 노년층에게 빠르고 편리한 접근성을 제공한다.

사용자 인터페이스 (모든 디자인은 초안으로 수정 및 보완 예정)

  1. 로그인/회원가입 화면
    • "카카오로 시작하기" 버튼이 화면의 중앙에 배치되고, 이 버튼을 클릭하면 카카오 계정으로 로그인/회원가입이 진행된다.

      iPhone 13 & 14 - 2.png

  • 사용자가 "카카오로 시작하기" 버튼을 클릭하면, 카카오 계정 로그인 페이지로 넘어간다. 사용자는 자신의 카카오 계정 정보(이메일/비밀번호)를 입력하여 인증을 진행할 수 있다.
  1. 카카오 계정 인증 화면
    • 사용자가 "카카오로 시작하기" 버튼을 클릭하면, 카카오 계정 로그인 페이지로 넘어간다. 사용자는 자신의 카카오 계정 정보(이메일/비밀번호)를 입력하여 인증을 진행할 수 있다.
  2. 카카오 계정 인증 화면
    • 사용자가 "카카오로 시작하기" 버튼을 클릭하면, 카카오 계정 로그인 페이지로 넘어간다. 사용자는 자신의 카카오 계정 정보(이메일/비밀번호)를 입력하여 인증을 진행할 수 있다.

카카오_로그인.jpg

상호작용 설명

  1. 사용자는 어플리케이션의 로그인/회원가입 화면에서 "카카오로 시작하기" 버튼을 클릭한다.
  2. 버튼 클릭 후, 카카오 계정 로그인 페이지로 이동한다. 사용자는 자신의 카카오 계정 정보를 입력하여 로그인한다.
  3. 카카오 계정 인증이 완료되면, 어플리케이션은 사용자의 카카오 계정과 연동하여 로그인 절차를 완료한다. 만약 사용자가 어플리케이션에 첫 로그인이라면, 카카오 계정 정보를 기반으로 자동 회원가입이 진행된다.
  4. 로그인/회원가입이 완료된 후, 사용자는 어플리케이션의 모든 기능을 이용할 수 있게 된다. 사용자는 언제든지 카카오 계정을 통해 빠르게 로그인할 수 있다.

이 과정을 통해 사용자는 간단하고 빠른 로그인/회원가입 경험을 할 수 있으며, 별도의 어플리케이션 내 회원가입 절차 없이도 편리하게 서비스를 이용할 수 있다.

기능 제목: 사용자 정보 입력

기능 개요

이 기능은 사용자가 자신의 건강 관련 정보를 어플리케이션에 입력할 수 있게 한다. 사용자는 키, 몸무게, 생년월일, 성별, 음주 습관, 흡연 여부, 현재 앓고 있는 질병이나 가족력 등의 정보를 제공함으로써, 어플리케이션이 개인의 건강 상태에 대한 정보를 얻을 수 있게 한다.

사용자 인터페이스 (모든 디자인은 초안으로 수정 및 보완 예정)

  1. 사용자 정보 입력 화면
    • 여러 입력 필드가 제공: "키", "몸무게", "생년월일", "성별", "음주 습관", "흡연 여부", "현재 앓고 있는 질병" 및 "가족력".
    • 각 정보 항목 옆에는 드롭다운 메뉴 또는 입력란이 있어 사용자가 자신의 정보를 쉽게 입력할 수 있다.
    • 정보 입력을 완료한 후 "저장" 버튼을 클릭하여 모든 정보를 어플리케이션에 저장할 수 있다.

iPhone 13 & 14 - 5.png

iPhone 13 & 14 - 3.png

상호작용 설명

  1. 사용자는 최초 로그인/회원가입 후 자동으로 정보 입력란으로 이동하거나, 어플리케이션 메뉴에서 "내 정보" 또는 "건강 정보 입력하기"을 선택한다.
  2. 사용자 정보 입력 화면이 나타나고, 사용자는 제공된 각 입력란에 자신의 키, 몸무게, 생년월일, 성별, 음주 습관, 흡연 여부, 앓고 있는 질병 및 가족력 등을 입력한다.
  3. 모든 정보를 입력한 후 "저장" 버튼을 클릭한다.
  4. 입력된 정보는 어플리케이션(DB, 서버)에 저장되며, 이를 기반으로 사용자에게 맞춤형 건강 정보와 조언이 제공된다.
  5. 사용자는 언제든지 "내 정보" 섹션에서 자신의 건강 정보를 업데이트하거나 수정할 수 있다.

이 기능을 통해 사용자(시니어, 노년층)는 개인의 건강 상태에 대한 상세 정보를 가족과 공유할 수 있으며, 자신에게 최적화된 건강 관리 방안을 제공받을 수 있다.

기능 제목: 가족 연결 및 가족 건강 정보 모니터링

기능 개요

이 기능은 사용자가 가족 구성원을 어플리케이션에 연결하고, 연결된 가족 구성원의 건강 정보를 실시간으로 모니터링할 수 있게 해준다. 사용자는 자신의 계정을 통해 가족 구성원을 초대하고, 가족 구성원의 건강 상태, 약 복용 알림 등의 정보를 확인할 수 있다. 이를 통해 가족 간의 건강 관리를 지원하고, 필요 시 적절한 조치를 취할 수 있게 돕는다.

사용자 인터페이스 (모든 디자인은 초안으로 수정 및 보완 예정)

  1. "가족 구성원(피보호인) 추가" 버튼과 피보호인의 코드를 이용해 가족 구성원(피보호인)을 어플리케이션에 등록할 수 있다.

iPhone 13 & 14 - 6.png

iPhone 13 & 14 - 7.png

상호작용 설명

  1. 사용자는 어플리케이션의 메뉴에서 "가족 구성원(피보호인) 관리"를 선택한다.
  2. "가족 구성원(피보호인) 추가" 버튼을 클릭하고, 추가하고자 하는 가족 구성원(피보호인)의 코드를 입력한다
  3. 입력된 가족 구성원(피보호인)은 가족 그룹에 연결된다.
  4. 사용자(보호인)는 "가족 건강 정보 대시보드"에서 연결된 가족 구성원의 건강 정보를 실시간으로 확인할 수 있다.
  5. 사용자는 가족 구성원의 건강 상태를 모니터링할 수 있다.

기능 제목: 인공지능 의료 상담 기능 제공 챗봇 "편안이”

기능 개요

"편안이"는 OPEN AI의 GPT-4.0 API를 기반으로 사용자에게 인공지능 기반 의료 상담을 제공하는 챗봇 기능이다. 사용자는 간단한 건강 관련 질문을 하거나 상태를 설명하면, "편안이"가 이를 분석하여 관련된 의료 정보, 건강 조언, 필요한 경우 의사 방문을 권장하는 등의 피드백을 제공한다. 이 기능을 통해 사용자는 일상 속에서 발생할 수 있는 간단한 건강 상의 문제에 대해 신속하게 조언을 얻을 수 있으며, 필요한 의료 정보를 쉽게 접할 수 있다.

사용자 인터페이스 (모든 디자인은 초안으로 수정 및 보완 예정)

챗봇 대화창 화면

  • 사용자는 화면 하단에 위치한 대화 입력란에 질문이나 건강 상태에 대한 설명을 입력할 수 있다.
  • "편안이"가 제공하는 답변은 대화창에 실시간으로 표시된다.

iPhone 13 & 14 - 4.png

iPhone 13 & 14 - 9.png

상호작용 설명

  1. 사용자는 어플리케이션의 메인 화면에서 "편안이와 상담하기" 버튼을 클릭하여 챗봇과의 상담을 시작한다.
  2. 대화 입력란에 건강 관련 질문이나 현재 겪고 있는 증상에 대해 입력한다.
  3. "편안이"는 사용자의 입력을 분석하여 적절한 의료 정보, 건강 조언을 제공한다. 필요한 경우 추가 질문을 통해 사용자의 상태에 대해 더 자세히 파악한다.
  4. "편안이"가 제공하는 의료 정보와 조언은 사용자가 쉽게 이해할 수 있도록 친절하고 명확한 언어로 제공된다..
  5. 사용자는 언제든지 챗봇과의 대화를 종료할 수 있으며, 나중에 다시 상담을 이어갈 수 있다.

기능 제목: 약 복용 시간 알림

기능 개요

이 기능은 사용자가 설정한 약 복용 시간에 맞춰 알림을 제공하는 서비스이다. 사용자가 약의 이름, 복용량, 복용 시간을 입력하면, 어플리케이션은 설정된 시간에 사용자의 스마트폰으로 약 복용 알림을 보내준다. 이를 통해 사용자는 정시에 약을 복용할 수 있으며, 약 복용을 잊어버리는 일 없이 건강 관리를 할 수 있다.

사용자 인터페이스 (모든 디자인은 초안으로 수정 및 보완 예정)

  1. 약 복용 시간 설정 화면
    • 사용자가 약의 이름, 복용량, 그리고 복용해야 할 시간을 입력할 수 있는 입력란이 제공된다.
    • "알림 추가" 버튼을 통해 사용자는 새로운 약 복용 알림을 설정할 수 있다.
  2. 약 복용 알림
    • 설정된 시간에 따라 사용자의 스마트폰으로 약 복용 알림이 전송된다. 알림에는 약의 이름과 복용량이 포함된다.

iPhone 13 & 14 - 1.png

상호작용 설명

  1. 사용자는 어플리케이션의 메뉴에서 "약 복용 시간 설정"을 선택한다.
  2. 약 복용 시간 설정 화면에서, 약의 이름, 복용량, 복용 시간을 입력한다.
  3. "알림 추가" 버튼을 클릭하여 약 복용 알림을 설정한다.
  4. 설정된 시간에 사용자의 스마트폰으로 약 복용 알림이 전송된다. 알림을 통해 사용자는 약 복용 시간을 확인할 수 있으며, 알림을 터치하여 추가적인 정보를 볼 수 있다.
  5. 사용자는 알림을 확인하고 해당 시간에 약을 복용함으로써 건강 관리를 지속할 수 있다.

기능 제목

복용 중인 약 정보 추가하기

기능 개요

이 기능은 사용자가 복용 중인 약의 정보를 어플리케이션에 추가할 수 있게 하는 서비스로, 두 가지 방법을 제공한다. 첫 번째는 "약 봉투 OCR로 입력하기"로, 사용자가 약 봉투의 사진을 찍으면, 어플리케이션이 자동으로 약 정보를 인식하여 입력한다. 두 번째 방법은 "직접 약 정보 입력하기"로, 사용자가 수동으로 약의 이름, 복용량, 복용 시간 등을 입력할 수 있다. 이 기능을 통해 사용자는 자신이 복용하는 약의 정보를 편리하게 관리할 수 있다.

사용자 인터페이스 (모든 디자인은 초안으로 수정 및 보완 예정)

  1. 약 정보 추가 화면
    • "약 봉투 사진 찍기" 버튼과 "직접 정보 입력" 버튼이 제공된다. 사용자는 자신에게 편리한 방법을 선택하여 약 정보를 추가할 수 있다.
  2. 약 봉투 OCR 입력 화면
    • 사용자가 약 봉투의 사진을 찍을 수 있는 카메라 화면이 제공된다. 사진 촬영 후, 어플리케이션은 OCR 기술을 사용하여 사진에서 약 정보를 자동으로 추출한다.
  3. 약 정보 수동 입력 화면
    • 약의 이름, 복용량, 복용 시간 등을 입력할 수 있는 입력란이 제공된다. 사용자는 자신이 복용하는 약의 상세 정보를 수동으로 입력할 수 있다.

1.PNG

2.PNG

1.PNG

3.PNG

상호작용 설명

  1. 사용자는 어플리케이션의 메뉴에서 "약 정보 추가하기"를 선택한다.
  2. 약 정보 추가 화면에서 "약 봉투 사진 찍기" 또는 "직접 정보 입력" 버튼 중 하나를 선택한다.
    • 약 봉투 OCR로 입력하기
      1. "약 봉투 사진 찍기"를 선택한 후, 카메라를 통해 약 봉투의 사진을 찍는다.
      2. 사진이 촬영되면, 어플리케이션은 OCR 기술로 사진에서 약 정보를 자동으로 추출하고 입력한다.
      3. 추출된 약 정보를 확인하고 저장한다.
    • 직접 약 정보 입력하기
      1. "직접 정보 입력"을 선택한 후, 제공된 입력란에 약의 이름, 복용량, 복용 시간 등을 수동으로 입력한다.
      2. 모든 정보를 입력한 후 저장한다.
  3. 약 정보가 어플리케이션에 추가되며, 사용자는 "내 약 정보" 섹션에서 자신이 입력한 약의 정보를 확인하고 관리할 수 있다.

[2] 기술 명세서

기능 제목: 카카오톡 API를 이용한 원클릭 로그인/회원가입

구현 기간

4월 5일 ~ 4월 10일

구현 담당 팀원

Front-end 이종훈 팀원

구현 단계 표시(개발 중, 버그 수정 중, 개발 완료)

  1. 카카오 API를 활용한 로그인 및 회원가입 기능 개발
  2. 사용자 인터페이스와의 통합 및 테스트
  3. 버그 수정 및 최적화

현재 1번 단계로 개발 중

데이터베이스 스키마

Untitled

알고리즘 혹은 아키텍쳐 설명

  • 사용자가 늘편안 플랫폼에 로그인 또는 회원가입할 때 카카오 API를 통해 간편하게 인증을 받는다.
  • 카카오 API의 OAuth 2.0 프로토콜을 사용하여 사용자의 로그인 정보를 안전하게 가져온다.
  • 사용자가 허용한 정보를 기반으로 늘편안 플랫폼에서 새로운 회원 정보를 생성하거나 이미 존재하는 회원정보를 로드한다.
  • Front-end는 카카오 로그인 버튼을 랜더링하고 사용자가 클릭할 때마다 백엔드에 요청을 보낸다.
  • Back-end는 카카오 API와 통신하여 사용자 정보를 가져오고 데이터베이스에 새로운 회원을 추가하거나 기존 회원을 인증한다.

기능 제목: 사용자 정보 입력

구현 기간

4월 5일 ~ 4월 10일

구현 담당 팀원

Front-end 이종혁 팀원, Back-end 장태종 팀원

구현 단계 표시(개발 중, 버그 수정 중, 개발 완료)

  1. 사용자 정보 입력 화면 및 기능 개발
  2. 데이터베이스와의 연동을 통한 정보 저장 기능 구현
  3. 입력된 정보를 통한 맞춤형 건강 정보 제공 기능 개발
  4. 테스트 및 최적화

현재 1번 단계로 개발 중

데이터베이스 스키마

Untitled

알고리즘 혹은 아키텍쳐 설명

  • 사용자가 건강 정보를 입력할 때 Front-end는 사용자에게 입력 폼을 제공하고 입력된 정보를 서버에 전송한다.
  • Back-end는 받은 데이터를 검증하고, 필요한 경우 데이터베이스에 저장한다.
  • 사용자는 언제든지 "내 정보" 섹션에서 자신의 건강 정보를 업데이트하거나 수정할 수 있다.

기능 제목: 가족 연결 및 가족 건강 정보 모니터링 기능 개발

구현 기간

4월 5일 ~ 4월 10일

구현 담당 팀원

Front-end 이종훈 팀원, Back-end 임강민 팀원

구현 단계 표시(개발 중, 버그 수정 중, 개발 완료)

  1. 가족 구성원 추가 및 연결 기능 개발
  2. 가족 건강 정보 모니터링 대시보드 개발
  3. 데이터베이스와의 연동을 통한 가족 구성원 정보 저장 및 관리 기능 구현
  4. 테스트 및 최적화

현재 1번 단계로 개발 중

데이터베이스 스키마

Untitled

Untitled

알고리즘 혹은 아키텍쳐 설명

  • 가족 구성원을 추가하고 연결하기 위해, 사용자는 가족 구성원의 정보를 입력하고 해당 사용자와 연결할 수 있다.
  • 가족 건강 정보 모니터링 대시보드는 사용자가 연결된 가족 구성원들의 건강 정보를 시각화하여 보여준다.
  • 데이터베이스는 가족 구성원 간의 관계를 추적하고, 건강 정보를 저장하여 각 사용자에게 맞춤형 건강 관리를 제공한다.

기능 제목: 인공지능 의료 상담 기능 제공 챗봇 "편안이"

구현 기간

4월 25일 ~ 4월 30일

구현 담당 팀원

Front-end 이종훈 팀원, Back-end 임강민 팀원

구현 단계 표시(개발 중, 버그 수정 중, 개발 완료)

  1. GPT-4.0 API를 활용한 챗봇 개발
  2. 사용자 입력에 따른 의료 상담 기능 구현
  3. 테스트 및 최적화

현재 1번 단계로 개발 중

데이터베이스 스키마

챗봇을 통한 의료 상담 내용은 실시간으로 생성되기 때문에 별도의 데이터베이스가 필요하지 않다.

알고리즘 혹은 아키텍쳐 설명

  • “편안이” 챗봇은 GPT-4.0 기술을 활용하여 자연어 처리 및 의료 상담 기능을 제공한다.
  • 사용자의 입력을 받으면 챗봇은 입력된 내용을 이해하고 적절한 의료 상담을 제공하기 위해 AI 엔진과 상호작용한다.
  • Back-end는 챗봇과의 통신을 담당하고 사용자의 질문에 따라 적절한 의료 정보를 제공하기 위해 데이터베이스와 통합된다.

기능 제목: 약 복용 시간 알림 기능 개발

구현 기간

4월 19일 ~ 4월 25일

구현 담당 팀원

Front-end 이종훈 팀원, Back-end 임강민 팀원

구현 단계 표시(개발 중, 버그 수정 중, 개발 완료)

  1. 약 복용 시간 설정 기능 및 알림 서비스 개발
  2. 사용자의 약 복용 시간 정보를 저장하고 관리하는 기능 구현
  3. 테스트 및 최적화

현재 1번 단계로 개발 중

데이터베이스 스키마

Untitled

알고리즘 혹은 아키텍쳐 설명

  • 사용자가 약을 복용해야 할 시간을 설정하면, 시스템은 설정된 시간에 알림을 제공한다.
  • 알림 서비스는 백그라운드 작업으로 실행되어야 하며, 정확한 시간에 알림을 보내기 위해 시간 관리 알고리즘이 필요하다.
  • 사용자의 알림 설정은 데이터베이스에 저장되어야 하고, 정확한 알림을 보내기 위해 데이터베이스와 백엔드가 효율적으로 통합돼야 한다.

기능 제목: 복용 중인 약 정보 추가하기 기능 개발

구현 기간

4월 19일 ~ 4월 25일

구현 담당 팀원

Front-end 이종혁 팀원, Back-end 장태종 팀원

구현 단계 표시(개발 중, 버그 수정 중, 개발 완료)

  1. 약 정보 추가 화면 개발 및 약 정보 입력 기능 구현
  2. 약 봉투 OCR 입력 기능 및 약 정보 추출 기능 개발
  3. 데이터베이스와의 연동을 통한 약 정보 저장 및 관리 기능 구현

현재 1번 단계로 개발 중

데이터베이스 스키마

Untitled

알고리즘 혹은 아키텍쳐 설명

  • 사용자가 복용중인 약의 정보를 추가할 때 Front-end는 약 정보를 입력받고 필요한 경우 OCR 기술을 사용하여 약 봉투 사진을 텍스트로 변환하여 정보를 추출한다.
  • Back-end는 입력된 정보를 검증하고 데이터베이스에 저장한다. 필요한 경우 약의 상호작용이나 부작용 정보를 제공하기 위해 외부 API와 통합된다.

백엔드 환경 구성

AWS RDS 환경구성

엔진옵션 선택

Untitled

  • MariaDB는 MySQL과 비교하여 성능 개선을 위해 여러 가지 최적화를 적용한다. 특히, 스레드 처리, 쿼리 최적화, 색인 사용, 디스크 및 메모리 관리 등의 측면에서 더 효율적으로 동작할 수 있기 때문에 프로젝트에 유리하다고 판단하여 선택하게 되었다.

템플릿 선택

Untitled

Untitled

  • 프리티어는 저용량이지만 12개월 무료이기 때문에 규모가 작은 늘편안 프로젝트에 적합하다.

스토리지 선택

Untitled

  • 범용(SSSD) 데이터베이스 스토리지는 프리티어에서 20GB까지 무료로 제공하므로 스토리지 값을 20으로 변경해준다.
  • 스토리지 자동조정 활성화시 과금이 발생할 수 있으므로 스토리지 자동 조정 활성화는 반드시 체크해제 해준다.

파라미터 수정

Untitled

  • 파라미터 time_zone을 Asia/Seoul로 선택하여 데이터베이스 서버의 시간대를 대한민국 시간으로 설정하여 데이터베이스 서버가 사용자와 동일한 시간대에 있어서 일관성 있는 시간 정보를 유지할 수 있도록 한다.

보안그룹 설정

Untitled

MYSQL/Aurora를 선택한 후 사용자는 EC2의 보안그룹을 선택한다.

Amazon EC2

1.png

Amazon에 로그인을 하고 서비스 검색에서 EC2를 검색한다.

2.png

검색한 EC2 서비스에서 인스턴스 시작 부분이 있는데

3.png

들어가면 인스턴스를 시작할 때 인스턴스 정보를 설정할 수 있다.

4.png

우선 제공하는 기능으로 빠른 설정을 위해 리눅스환경 그리고 macOS환경 윈도우 환경등 여러 환경에 대한 이미지 서비스를 제공하고 있다.

5.png

또한 생성할 인스턴스에 대해서 간단한 성능별 가격정책을 확인하고 정할 수 있다.

7.png

그리고 사용할 스토리지 용량을 설정할 수 있으며

7.png

8.png

오른쪽의 요약 부분에서 설정한 인스턴스 정보를 확인하고 인스턴스 시작을 요청할 수 있다. 주의사항으로는 생성한 프리티어 인스턴스 유형에 포함되는 부분을 알려주고 있다.

9.png

생성완한 인스턴스를 확인할 수 있으며

10.png

대시보드에서 보유한 인스턴스에 대한 상태정보를 받아볼 수 있다.

11.png

인스턴스 상태 관리에 들어가 인스턴스의 상태를 변경할 수 있으며

12.png

만약 필요하지 않은 상황에서 결제가 되는 상황이라면 인스턴스를 종료하여 비용을 절약하는 방법이 필요할 수도 있다.

Clone this wiki locally