|
|
3번째 줄: |
3번째 줄: |
| ==프로젝트 개요== | | ==프로젝트 개요== |
| === 기술개발 과제 === | | === 기술개발 과제 === |
− | ''' 국문 : ''' 커스텀 운동 기록 피트니스 어플리케이션 | + | ''' 국문 : ''' 00000000.. |
| | | |
− | ''' 영문 : ''' Custom exercise log fitness application | + | ''' 영문 : ''' 00000000.. |
| | | |
| ===과제 팀명=== | | ===과제 팀명=== |
− | 컴통수
| + | 00000.. |
| | | |
| ===지도교수=== | | ===지도교수=== |
− | 황혜수 교수님
| + | 000 교수님 |
| | | |
| ===개발기간=== | | ===개발기간=== |
17번째 줄: |
17번째 줄: |
| | | |
| ===구성원 소개=== | | ===구성원 소개=== |
− | 서울시립대학교 수학과 20195400** 주*도(팀장) | + | 서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 김**(팀장) |
| | | |
− | 서울시립대학교 컴퓨터과학부 20189200** 나*규 | + | 서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 정** |
| | | |
− | 서울시립대학교 통계학과 20205800** 오*건 | + | 서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 조** |
| + | |
| + | 서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 이** |
| + | |
| + | 서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 남** |
| | | |
| ==서론== | | ==서론== |
| ===개발 과제의 개요=== | | ===개발 과제의 개요=== |
| ====개발 과제 요약==== | | ====개발 과제 요약==== |
− | ◇ 시중에는 다양한 피트니스 분야의 어플리케이션이 출시되어 있는데,그중에서 운동과 관련된 어플리케이션이 가장 사용자가 많음<br>
| + | 내용 |
− | ◇ 운동 관련 어플리케이션 중에서도 운동 기록 기능을 가진 어플리케이션이가장 활발하게 이용되는 편인데, 그런 어플리케이션들은 사용하기에 너무 복잡하거나,기능이 제한적인 미흡한 부분이 존재함<br>
| |
− | ◇ 따라서 우리는 이러한 문제를 해결할 수 있는 운동 기록 어플리케이션,더 나아가 운동을 추천까지 해줄 수 있는 어플리케이션을 개발하고자 함<br>
| |
− | ◇ 이 어플리케이션을 통해 사용자들로 하여금 자신의 운동 결과를 손쉽게 기록하고,개인화된 운동 목표를 설정하며, 커뮤니티를 통해 동기부여를 받는 등종합적인 피트니스 플랫폼을 제공하는 것을 목표로 함<br>
| |
− | | |
| ====개발 과제의 배경==== | | ====개발 과제의 배경==== |
− | 개발 과제의 배경은 다음과 같다.
| + | 내용 |
− | <br>
| |
− | <br>
| |
− | '''◇ 쉽게 식지 않는 운동 열풍'''<br>
| |
− | [[파일:컴통수 01.png|가운데]][[파일:컴통수 02.png|가운데]]<br>
| |
− | - 코로나 펜데믹 이후로 사회적 거리두기 제도가 시행됨에 따라서 많은 사람들이실내에 있는 시간이 크게 증가하게 되면서 건강과 피트니스에 대한 관심도가 크게 증가<br>
| |
− | - 또한 건강에 대한 관심의 급증과 함께 자기 관리에도 관심도가 몰리면서,스스로 몸을 가꾸기 위해 헬스나 필라테스 등의 운동을 하는 사람들의 수가 꾸준히 증가<br>
| |
− | - 게다가 이런 자기 관리를 위한 운동 외에도, 젊은 층을 중심으로골프, 클라이밍, 테니스, 러닝 등 특정한 구분 없이 다양한 스포츠가 인기를 얻음<br>
| |
− | <br>
| |
− | <br>
| |
− | '''◇ 피트니스 어플리케이션 시장의 성장'''<br>
| |
− | [[파일:컴통수 03.png|가운데]][[파일:컴통수 04.png|가운데]]<br>
| |
− | - 운동 열풍이 지속됨에 따라 국내 피트니스 어플리케이션의 시장도 함께 성장했는데,코로나 이후로 피트니스 어플리케이션 다운로드 수 증가율이 거의 30%에 육박함<br>
| |
− | - 피트니스 어플리케이션에서도 금연, 음주, 운동, 식생활 등 다양한 분야가 존재하는데,이용자 수와 연도별 이용 경험자 증가 폭이 가장 큰 분야는 운동과 관련된 서비스임<br>
| |
− | <br>
| |
− | <br>
| |
− | '''◇ 운동 기록과 소셜라이징'''<br>
| |
− | [[파일:컴통수 05.png|가운데]]<br>
| |
− | - 운동하면서 과정이나 결과를 모바일 어플리케이션을 통해 기록하는 사람들의 비율이꽤나 높은 것으로 나타남<br>
| |
− | - 운동 기록을 통해 과정을 가시화하여, 계속해서 운동을 이어 나갈 수 있는 동기부여 요소를형성하고, SNS를 활용해 운동 기록이나 성과를 공유하며 서로 응원하거나경쟁 하는 모습을 쉽게 확인할 수 있음<br>
| |
− | - 그렇게 기록 공유를 통해 운동 자체를 소셜라이징의 수단으로 활용하여,이제는 운동 기록 및 공유 과정은 하나의 문화로 자리잡음<br>
| |
− | <br>
| |
− | <br>
| |
− | 개발 과제의 효과는 다음과 같다.
| |
− | <br>
| |
− | <br>
| |
− | '''◇ 자유로운 운동 기록'''<br>
| |
− | - 운동 횟수, 종목에 구애받지 않고 자유롭게 본인이 원하는 방식으로 운동 기록 가능<br>
| |
− | - 커스텀 가능한 UI를 통해 본인에게 적합하고 쉬운 방식으로 운동 기록 가능<br>
| |
− | <br>
| |
− | '''◇ 운동 추천을 통해 쉬운 목표 설정'''<br>
| |
− | - 데이터에 근거한 합리적인 목표 설정으로 점진적인 신체적 성장 가능<br>
| |
− | - 경험하지 못한 운동 종목에 대해서도 목표를 설정하여 새로운 운동 도전 용이<br>
| |
− | <br>
| |
− | '''◇ 무료 서비스'''<br>
| |
− | - 구독료가 없어도 운동 기록 및 공유할 수 있어 재정적 부담 감소<br>
| |
− | <br>
| |
− | '''◇ 운동 공유 및 커뮤니티 형성'''<br>
| |
− | - 운동 정보나 방식에 대하여 쉽게 공유하고 정보를 습득<br>
| |
− | - 함께 운동하고 싶은 경우, 사람을 쉽게 모을 수 있어 운동 동기부여 제공<br>
| |
− | | |
| ====개발 과제의 목표 및 내용==== | | ====개발 과제의 목표 및 내용==== |
− | '''◇ 커스텀 가능한 자유로운 형식의 운동 기록'''<br>
| + | 내용 |
− | - 운동 기록을 위한 커스텀 UI 구성을 목표로 함<br>
| |
− | - 자신에 취향에 맞게 UI 이동 및 형태 변화 가능<br>
| |
− | - 텍스트, 표, 그림 등 다양하게 조정 가능<br>
| |
− | <br>
| |
− | '''◇ AI를 통한 운동 목표, 종목 추천'''<br>
| |
− | - 운동 추천 AI 구성 및 만족도 증대를 목표로 함<br>
| |
− | - 자신의 운동 목표에 맞는 운동 강도, 종목 추천<br>
| |
− | - 자신의 운동 현황에 따라 운동 강도, 종목 추천<br>
| |
− | <br>
| |
− | '''◇ 운동 커뮤니티 <br>
| |
− | - 운동 종목별 커뮤니티 개발을 목표로 함'''<br>
| |
− | - 카테고리 분류를 통해 운동 종목별 커뮤니티 게시<br>
| |
− | - 자유롭게 글을 쓰고 댓글을 달 수 있는 환경 조성<br>
| |
− | <br>
| |
− | '''◇ 모임 구성 기능 제공'''<br>
| |
− | - 빠르고 간편한 모임 구성을 목표로 함<br>
| |
− | - 운동 종목, 구성 인원 수, 위치에 기반하여 운동 모임 구성<br>
| |
| | | |
| ===관련 기술의 현황=== | | ===관련 기술의 현황=== |
| ====관련 기술의 현황 및 분석(State of art)==== | | ====관련 기술의 현황 및 분석(State of art)==== |
− | *'''전 세계적인 기술현황''' | + | *전 세계적인 기술현황 |
− | '''◇ 어플 요약'''<br>
| + | 내용 |
− | - 사용자에게 운동 기록을 입력받아, 그 기록과 체성분 정보를 활용하여 운동 루틴을 추천한다.<br>
| + | *특허조사 및 특허 전략 분석 |
− | - 운동 루틴을 추천하는 방법론으로 Large Language Model(LLM)을 사용하고자 한다.<br>
| + | 내용 |
− | - 운동 기록 추천 과정에서 다양한 전문 지식을 참고할 수 있도록 한다.<br>
| + | *기술 로드맵 |
− | <br>
| + | 내용 |
− | <br>
| |
− | '''◇ LLM 역사'''<br>
| |
− | LLM은 언어를 생성하거나 Natural Language Processing Task를 가능하도록 만든 딥러닝 모델이다.<br>
| |
− | LLM이 발전된 순서로 설명하고자 한다.<br>
| |
− | <br>
| |
− | - Recurrent Neural Net(RNN)<br>
| |
− | 순차적인 데이터를 처리하기 위해 설계된 신경망이다. 이전의 상태를 다음 상태에 전달하는 구조를 가지고 있기 때문에, 텍스트나 시계열, 음성 데이터 등에 주로 사용된다. 하지만, 기울기 소실 문제로 인해, 먼 과거의 정보를 효율적으로 기억하지 못하는 한계(장기 의존성 문제)가 존재한다.<br>
| |
− | <br>
| |
− | - Long Short-Term Memory(LSTM)<br>
| |
− | RNN의 장기 의존성 문제를 해결하기 위해 고안된 모델이다. cell state와 3개의 게이트 구조(입 력·출력·망각 게이트)를 활용하여 이를 해결하였다. 따라서 더 긴 텍스트나 시계열, 음성 데이터에서 효과적인 성능을 보였다.<br>
| |
− | <br>
| |
− | - Attention Mechanism<br>
| |
− | LSTM 및 RNN의 한계를 극복하기 위해 도입된 개념이다. 모델이 전체 시퀀스에서 특정 위치에 있는 요소를 집중해서 처리할 수 있도록 설계한 메커니즘 이며, 병렬처리가 가능하기 때문에 처리 속도 또한 향상되었다.<br>
| |
− | <br>
| |
− | - Transformer<br>
| |
− | Attention Mechanism 중심으로 설계된 모델이다. Self-Attention Mechanism을 활용하여 시퀀스내 모든 요소들이 다른 모든 요소들과 얼마나 관련되어 있는지 계산한다. 이를 통해 전체적인 시퀀스 파악이 가능하며 장기 의존성 문제를 효과적으로 해결하였다. 또한, Encoder-Decoder 구조를 사용하여 시퀀스를 잘 추론(encoder)하고 생성(decoder)할 수 있다. Transformer가 발전하면서 BERT, GPT 같은 LLM 모델이 탄생했다.<br>
| |
− | <br>
| |
− | <br>
| |
− | '''◇ LLM 최근 동향'''<br>
| |
− | LLM 기반 모델이 최근에 어떤식으로 개발되는지 설명하고자 한다.<br>
| |
− | <br>
| |
− | - Reinforcement Learning from Human Feedback(RLHF)<br>
| |
− | 강화학습에 대하여 인간의 피드백을 적용해 학습하는 방법론이다. 인간의 피드백을 가지고 학습에 활용하기 때문에 더 좋은 성능을 기대할 수 있다. 이와 관련된 예시로는 GPT의 이지선다 질문과 Claude 모델이 있다.<br>
| |
− | <br>
| |
− | - Direct Preference Optimization(DPO)<br>
| |
− | RLHF 방법론에서 특정 프로시저를 제거해서 Human Feedback을 사용해도 좋은 성능을 내는 모델이다. 이 방법론은 최근에 논문을 통해 알려졌으며, 이와 관련된 후속 연구가 진행될 것을 보인다. <br>
| |
− | <br>
| |
− | - Multimodal<br>
| |
− | 하나의 인공지능 모델이 텍스트와 이미지 데이터 등을 동시에 처리하고 이해할 수 있는 모델이다. 따라서 이미지를 가지고 텍스트로 설명하거나, 텍스트를 가지고 이미지를 만들어 낼 수도 있다. 이와 같은 모델의 예시로는 GPT-4와 DALL-E가 있다.<br>
| |
− | *'''특허조사 및 특허 전략 분석''' | |
− | '''특허조사'''<br>
| |
− | <br>
| |
− | ◇ ‘운동 기록’ 관련 특허(출원번호: 10-2011-0086142)<br>
| |
− | 운동 기구에 QR코드를 부착 후, 연동되는 앱을 통해 QR코드를 인식시킨 후 운동하면 그 정보가 알아서 저장되고 관리되는 특허이다.<br>
| |
− | <br>
| |
− | ◇ ‘기록 기반의 헬스 트레이닝 시스템 제어’ 관련 특허(출원번호: 10-2012-0052321)<br>
| |
− | 사용자의 운동정보를 중앙서버로 보내고 트레이너는 그 정보를 한번에 체크해서 적절한 헬스 트레이닝 시스템을 제공한다.<br>
| |
− | <br>
| |
− | '''특허전략'''<br>
| |
− | <br>
| |
− | ◇ 운동 기구가 없는 경우(QR코드를 부착하기 어려운 경우)에도 운동 기록을 저장할 수 있는 방향으로 개발하면 좋을 듯하다.<br>
| |
− | <br>
| |
− | ◇ 자동 운동기록 저장을 지원하는 기구에서만 사용할 수 있으므로, 여러 운동기구를 커버할 수 있는 우리 애플리케이션이 장점을 갖는다 생각한다. 추가적으로 사용자 편의성을 추구하는 기록방식을 사용하면 가능성이 있을 듯하다.<br>
| |
− | <br>
| |
− | ◇ 정보들이 서버에 저장되고 다른 사람이 이 정보를 본다는 것은 부담이 될 수 있다. 이러한 부분을 고려해서 개발을 하면 가능성이 있을 듯하다.<br>
| |
− | *'''기술 로드맵'''<br> | |
− | [[파일:컴통수 06.png|가운데]]
| |
− | <br>
| |
| | | |
| ====시장상황에 대한 분석==== | | ====시장상황에 대한 분석==== |
| *경쟁제품 조사 비교 | | *경쟁제품 조사 비교 |
− | <br>
| + | 내용 |
− | ◇ 비슷한 기능을 갖는 ‘플랜핏’, ‘번핏’, ‘인바디’, ‘플릭’, ‘바디캘린더’에 대하여 조사를 진행. 또한, 완성된 우리 제품과의 비교 진행.<br>
| |
− | ◇ 경쟁제품 및 우리 제품과의 비교<br>
| |
− | [[파일:컴통수 07.png|가운데]]<br>
| |
− | <br>
| |
| *마케팅 전략 제시 | | *마케팅 전략 제시 |
− | <br>
| + | 내용 |
− | '''1. SWOT 분석'''<br>
| |
− | <br>
| |
− | ◇ 강점 (Strengths)<br>
| |
− | - 사용자 경험 수준에 따른 맞춤형 서비스 및 다양한 운동에 대한 편리한 기록 및 관리 지원<br>
| |
− | - 운동 기록, 목표 설정, 커뮤니티 기능 등 종합적인 피트니스 플랫폼 제공<br>
| |
− | <br>
| |
− | ◇ 약점 (Weaknesses)<br>
| |
− | - 시장에 후발 주자로 진입하여 기존 사용자 기반이 부족<br>
| |
− | - 초기 데이터 부족으로 인한 AI 추천 시스템의 정확도 한계<br>
| |
− | - 다양한 기능 개발 및 유지보수에 따른 높은 초기 개발 비용<br>
| |
− | <br>
| |
− | ◇ 기회 (Opportunities)<br>
| |
− | - 코로나 이후 증가한 개인 건강관리에 대한 관심<br>
| |
− | - 피트니스 어플리케이션 시장의 성장세 유지<br>
| |
− | - 젊은 세대 위주의 운동 열풍<br>
| |
− | <br>
| |
− | ◇ 위협 (Threats)<br>
| |
− | - 기존 유사 서비스와의 치열한 경쟁<br>
| |
− | - 대형 IT 기업들의 헬스케어 시장 진출<br>
| |
− | <br>
| |
− | '''2. SWOT 분석 기반 마케팅 전략'''<br>
| |
− | <br>
| |
− | ◇ 강점-기회(SO) 전략<br>
| |
− | - 커뮤니티 강화를 통한 소셜 피트니스 트렌드 주도<br>
| |
− | - 개인화된 소셜 피트니스 플랫폼을 제공하여 사용자 기반 및 데이터 확보<br>
| |
− | <br>
| |
− | ◇ 강점-위협(ST) 전략<br>
| |
− | - 다양한 운동 종류에 대한 포괄적인 기록 및 관리를 통한 차별화<br>
| |
− | - 사용자 경험 최적화를 통한 경쟁력 유지<br>
| |
− | <br>
| |
− | ◇ 약점-기회(WO) 전략<br>
| |
− | - 젊은 세대의 운동 열풍을 겨냥한 마케팅을 통해 초기 사용자 기반을 빠르게 확보<br>
| |
− | - 코로나 이후 계속해서 변화하는 운동 트렌드에 맞게 단계적으로 개선하여 초기 개발 비용 관리 및 시장 진입 속도 향상<br>
| |
− | <br>
| |
− | ◇ 약점-위협(WT) 전략<br>
| |
− | - 아직 활성화된 서비스가 존재하지 않는 특정 운동 분야나 사용자 그룹을 발굴하고, 집중적으로 공략하여 차별화된 서비스 제공 및 고객 확보<br>
| |
− | - 초기 사용자 대상으로 데이터 입력을 유도하여 AI 추천 시스템의 정확도를 바르게 향상시키고, 사용자 기반을 확대<br>
| |
− | <br>
| |
| | | |
| ===개발과제의 기대효과=== | | ===개발과제의 기대효과=== |
| ====기술적 기대효과==== | | ====기술적 기대효과==== |
− | ◇ 운동을 처음 시작하는 사용자에 대하여 쉽고 편리하게 운동 기록을 정리할 수 있고,추천을 받으면서 운동을 할 수 있으며, 커뮤니티에서 정보를 얻거나 단체 운동을 하며운동을 습관화 할 수 있음.<br>
| + | 내용 |
− | ◇ 운동을 이미 하던 사용자에 대해 기록할 수 있는 운동의 제약 없이,모든 운동 기록을 하나의 애플리케이션에서 관리할 수 있고, 목표 달성을 위한 추천을 받을 수 있음.<br>
| |
− | ◇ 커뮤니티에서 그 운동 분야 전문가와 서로 이야기를 나눌 수 있으며,운동 초심자와 함께 하면서 더 높은 성취감을 얻을 수 있음.<br>
| |
− | <br>
| |
− | | |
| ====경제적, 사회적 기대 및 파급효과==== | | ====경제적, 사회적 기대 및 파급효과==== |
− | ◇ 기존 운동 기록 애플리케이션에서는 약 10,000원을 내야만 완전한 기능을 사용할 수 있었음.운동을 처음 시작하는 사람들에게는 이러한 유로 구독이 비싸게 느껴질 수 있고,이는 진입 장벽으로 여겨질 수 있다. 우리 애플리케이션에서는 기본적인 기능을 무료로 제공하여많은 사람이 부담이 사용할 수 있도록 함.<br>
| + | 내용 |
− | ◇ 요즘에 들어 성인들이 본인의 운동 기록을 공유하고 여러 사람과 소통하는 것은 트렌드임.우리 애플리케이션은 이러한 트렌드를 따라가기에 적합하다. 운동 기록에 대하여 서로 응원받고,같이 운동할 기회를 제공하며 많은 사람이 사용할 수 있을 거라 생각함.<br>
| |
− | ◇ WHO에서 분석한 데이터에 의하면, 전 세계 성인 가운데 31%인 18억 명 정도가신체 활동 권장량을 채우지 못한 것으로 파악한다 말함.우리 애플리케이션을 사용하면, 운동을 기록하고 공유하면서 사람들과 소통할 수 있으며,여러 사람과 같이 운동하는 기회를 제공하므로 중간에 포기하는 행위를 줄여결과적으로 운동을 꾸준히 할 수 있도록 도와줌.이러한 효과들은 신체 활동 권장량을 채울 수 있도록 도와주며,많은 사람이 건강하게 살 수 있도록 영향을 줌.<br>
| |
− | <br>
| |
| | | |
| ===기술개발 일정 및 추진체계=== | | ===기술개발 일정 및 추진체계=== |
| ====개발 일정==== | | ====개발 일정==== |
− | [[파일:컴통수 08.png|가운데]]
| + | 내용 |
− | | |
| ====구성원 및 추진체계==== | | ====구성원 및 추진체계==== |
− | '''◇ 주현도 (팀장)'''<br>
| + | 내용 |
− | :1. 프로젝트 기획 및 매니징<br>
| |
− | :2. 어플리케이션 UI/UX 디자인<br>
| |
− | :3. 발표 자료 제작 및 각종 보고서 작성<br>
| |
− | :4. 웹 및 어플리케이션 개발<br>
| |
− | :5. AWS 인프라 구성 관리<br>
| |
− | :6. Amazon Bedrock을 사용한 RAG 기반의 추천 시스템 구축<br>
| |
− | :7. 프로젝트 발표 진행<br>
| |
− | <br>
| |
− | '''◇ 나인규 (팀원)'''<br>
| |
− | :1. 프로젝트 기획<br>
| |
− | :2. 데이터베이스 설계 및 생성<br>
| |
− | :3. API 명세 작성 및 구현<br>
| |
− | :4. 토큰 관리 및 제공<br>
| |
− | :5. 추천 시스템 배치 프로그램 개발<br>
| |
− | :6. 각종 보고서 작성 및 진행 상황 발표<br>
| |
− | <br>
| |
− | '''◇ 오제건 (팀원)'''<br>
| |
− | :1. 프로젝트 기획<br>
| |
− | :2. Amazon Bedrock을 사용한 RAG 기반의 추천 시스템 구축<br>
| |
− | :3. LLM 파라미터 튜닝<br>
| |
− | :4. 프롬프트 엔지니어링<br>
| |
− | :5. RAG 아키텍쳐 구현을 위한 전문지식 데이터 취합<br>
| |
− | :6. 추천 시스템 피드백 진행<br>
| |
− | :7. 각종 보고서 작성 및 진행 상황 발표<br>
| |
− | <br>
| |
| | | |
| ==설계== | | ==설계== |
| ===설계사양=== | | ===설계사양=== |
− | ====사용자 요구사항==== | + | ====제품의 요구사항==== |
− | [[파일:컴통수 09.png|가운데]]<br>
| + | 내용 |
− | | + | ====설계 사양==== |
− | ====사용자 요구사항 만족을 위한 기능 정의 및 기능별 정량목표==== | + | 내용 |
− | [[파일:컴통수 10.png|가운데]]
| |
| | | |
− | ===기능 구현을 위한 세부기술 선택사항 (디자인)=== | + | ===개념설계안=== |
− | ◇ 사용자에게 더 효과적인 운동 강도 및 플랜 추천을 위해, 운동 관련 전문 지식 데이터를 참고해서 추천할 수 있도록 RAG 아키텍쳐 적용<br>
| + | 내용 |
− | ◇ 사용자가 짧고 간결한 추천을 받을 수 있도록, 꾸준한 프롬프트 수정<br>
| |
− | ◇ 사용자에게 다양한 커스텀 UI 제공을 위해 네이버 폼, 구글 폼 등을 참고<br>
| |
− | ◇ 다양한 기록 폼들을 Figma를 통해 Wire frame 작성<br>
| |
− | ◇ UI 간 통일성을 주기 위해 색상, 폰트, 로고 등을 정의하고 디자인 일관성을 유지, 이를 통한 만족도 높은 디자인 제공<br>
| |
− | ◇ 사용자가 편리하게 모임기능을 사용할 수 있도록, 주변 사람들로부터 아이디어를 모으고 개발 진행<br>
| |
− | ◇ 행정구역 관련 api를 사용하여 사용자 근처에 있는 모임을 간편하게 확인할 수 있도록 개발 진행<br>
| |
− | ◇ 에브리타임, 시대생 등의 앱을 참고하여 사용자 친화적인 커뮤니티 탐색<br>
| |
− | ◇ 사용자가 불필요했던 부분은 지우고, 더 필요한 부분을 추가해서 완성도 있는 커뮤니티 기능 구현<br>
| |
− | <br>
| |
| | | |
− | ===개념 설계안=== | + | ===이론적 계산 및 시뮬레이션=== |
− | '''◇ 사용자 인증'''<br>
| + | 내용 |
− | - 소셜 로그인 방식을 통해 로그인을 진행한다.<br>
| |
− | - 사용자 계정이 없는 경우에는 회원가입을 진행한다.<br>
| |
− | <br>
| |
− | '''◇ 운동 목표 설정'''<br>
| |
− | A. 목표 설정<br>
| |
− | [[파일:컴통수 11.png|가운데]]<br>
| |
− | - 앞으로의 추천 시스템에서 활용하기 위해 사용자의 몸무게, 키 등의 체성분 정보를 입력 받는다.<br>
| |
− | - 체지방 감량, 근육량 향상, 체력 향상 등 제시된 다양한 목표 중에서 원하는 목표를 선택한다.<br>
| |
− | <br>
| |
− | B. 목표 달성도 시각화<br>
| |
− | - 목표 달성도에 따라 메달을 부여하여, 꾸준히 운동을 할 수 있도록 동기부여 요소를 제공한다.<br>
| |
− | - 운동 기록 특정 횟수 달성, 운동 메이트 찾기 특정 횟수 달성 등 꾸준히 운동을 하며 어플리케이션 활용도를 높일 수 있도록 다양한 재미 요소를 제공한다.<br>
| |
− | - 목표 당성 및 운동 기록 작성 등을 통해 받은 전체 메달을 조회하는 기능을 제공한다.<br>
| |
− | - 받은 메달을 커뮤니티에 공유하는 기능을 통해 서로 응원을 주고 받는 재미 요소를 제공한다.<br>
| |
− | <br>
| |
− | '''◇ 운동 기록 조회'''<br>
| |
− | A. 월별 운동 기록 조회<br>
| |
− | [[파일:컴통수 12.png|가운데]]<br>
| |
− | - 달력 인터페이스를 통해 월 단위로 운동 기록을 남긴 날을 표시하여, 사용자에게 제공하고, 해당 월에 남긴 전체 기록을 제공한다.<br>
| |
− | - 달력 인터페이스에서 특정 날짜를 선택해, 해당 날짜에 남긴 운동기록 목록을 제공한다.<br>
| |
− | - 특정 날짜에 대한 운동 기록 목록에 있는 요소를 선택하면, 세부 운동 기록 페이지로 이동한다.<br>
| |
− | <br>
| |
− | B. 상세 운동 기록 조회<br>
| |
− | [[파일:컴통수 13.png|가운데]]<br>
| |
− | - 해당 날짜에 사용자가 직접 작성한 상세 운동 기록을 조회한다.<br>
| |
− | - 필요에 따라 운동 기록을 삭제하거나 수정할 수 있다.<br>
| |
− | <br>
| |
− | '''◇ 운동 기록 작성'''<br>
| |
− | - 운동 기록 조회-(A)의 달력 인터페이스 화면에서 특정 날짜에 운동 기록을 추가할 수 있다.<br>
| |
− | - 제목, 운동 종류와 같은 기본적인 요소를 입력할 수 있다.<br>
| |
− | - 필요에 따라 자유 메모, 사진 기록, 헬스 운동 기록, 운동 강도, 운동 시간대 등 원하는 UI를 추가하여 자유롭게 운동 기록을 작성할 수 있다.<br>
| |
− | :1. 자유 메모 : 메모장과 같이 자유롭게 텍스트를 입력할 수 있는 UI 요소이다.<br>
| |
− | :2. 사진 기록 : 운동 과정 중에 촬영한 사진을 갤러리 형식으로 업로드할 수 있는 UI 요소이다.<br>
| |
− | :3. 헬스 운동 기록 : 세부 운동 종류, 세트 수, 무게, 반복 횟수 등 헬스 기록에 최적화된 UI 요소이다.<br>
| |
− | :4. 운동 강도 : 별점과 비슷하게 점수를 통해 운동 강도를 나타낼 수 있는 UI 요소이다.<br>
| |
− | :5. 운동 시간대 : 해당 운동을 수행한 시간대를 입력할 수 있는 UI 요소이다.<br>
| |
− | <br>
| |
− | '''◇ 운동 추천'''<br>
| |
− | A. 운동 루틴 추천<br>
| |
− | [[파일:컴통수 14.png|가운데]]<br>
| |
− | - 사용자가 작성한 운동 기록을 바탕으로 오늘 진행할 추천 운동 루틴을 제공한다.<br>
| |
− | - 최초 어플리케이션 실행 시점에 입력한 사용자의 체성분과 운동 목표 데이터를 통해 추천 운동 루틴을 제공한다.<br>
| |
− | - 예시로 헬스와 러닝을 번갈아가며 진행한다고 했을 때, 마지막으로 한 운동이 러닝인 경우, 헬스를 추천 운동 루틴으로 안내한다.<br>
| |
− | - 사용자는 제공 받은 추천 운동 루틴을 추가하는 버튼을 통해 쉽게 운동 기록을 남길 수 있다.<br>
| |
− | <br>
| |
− | B. 운동 강도 추천<br>
| |
− | [[파일:컴통수 15.png|가운데]]<br>
| |
− | - 작성한 운동 기록을 저장하고 난 시점에, 작성한 내용을 바탕으로 다음 할 운동의 강도를 추천받는다.<br>
| |
− | - 예시로 동일한 거리, 시간으로 특정 횟수가 반복된다면, 다음 운동 시에 조금 더 강도를 높여 운동할 수 있도록 세부적인 가이드와 함께 제안한다.<br>
| |
− | <br>
| |
− | '''◇ 커뮤니티'''<br>
| |
− | A. 게시글 작성<br>
| |
− | - 특정 카테고리에 맞는 게시글 내용을 작성하여 업로드할 수 있다.<br>
| |
− | - 게시글에 다양한 이미지를 첨부하여 업로드할 수 있다.<br>
| |
− | - 운동 과정이나 결과, 목표 달성, 성취 메달 등 다양한 성과를 공유할 수 있다.<br>
| |
− | <br>
| |
− | B. 카테고리별 게시판 조회<br>
| |
− | [[파일:컴통수 16.png|가운데]]<br>
| |
− | - 특정 스포츠 종목 또는 운동 성과나 식단 등과 같이 특정 카테고리별로 게시글을 조회한다.<br>
| |
− | - 해당 게시글을 클릭하여 세부 내용을 볼 수 있는 화면으로 이동한다.<br>
| |
− | - 추천 버튼을 통해 유익한 게시글이라는 것을 확인할 수 있도록 추천 수를 증가시킬 수 있다.<br>
| |
− | - 댓글 기능을 통해 다른 사용자들과 정보 공유를 할 수 있다.<br>
| |
− | <br>
| |
− | C. 운동 메이트 찾기<br>
| |
− | [[파일:컴통수 17.png|가운데]]<br>
| |
− | - 원하는 사용자들끼리 모여 운동을 진행할 수 있도록 운동 메이트 찾기 글을 업로드 할 수 있다.<br>
| |
− | - 운동이 끝나고, 운동 메이트끼리 공동으로 운동 기록을 남길 수 있다.<br>
| |
− | <br>
| |
| | | |
− | ===소프트웨어 설계=== | + | ===상세설계 내용=== |
− | '''가. 액티비티 다이어그램'''<br>
| + | 내용 |
− | <br>
| |
− | ◇ 인증 및 운동 목표 설정<br>
| |
− | [[파일:컴통수 18.png|가운데]]<br>
| |
− | ◇ 운동 기록 관리<br>
| |
− | [[파일:컴통수 19.png|가운데]]<br>
| |
− | ◇ 커뮤니티 활동<br>
| |
− | [[파일:컴통수 20.png|가운데]]<br>
| |
− | ◇ 운동 추천 결과 조회<br>
| |
− | [[파일:컴통수 21.png|가운데]]<br>
| |
− | <br>
| |
− | '''나. 클래스 다이어그램'''<br>
| |
− | ◇ Account 모듈<br>
| |
− | [[파일:컴통수 22.png|가운데]]<br>
| |
− | ◇ Medal 모듈<br>
| |
− | [[파일:컴통수 23.png|가운데]]<br>
| |
− | ◇ ExerciseLog 모듈<br>
| |
− | [[파일:컴통수 24.png|가운데]]<br>
| |
− | ◇ ExercisePlan 모듈<br>
| |
− | [[파일:컴통수 25.png|가운데]]<br>
| |
− | ◇ Board 모듈<br>
| |
− | [[파일:컴통수 26.png|가운데]]<br>
| |
− | ◇ Gathering 모듈<br>
| |
− | [[파일:컴통수 27.png|가운데]]<br>
| |
− | <br>
| |
− | '''다. ERD'''<br>
| |
− | [[파일:컴통수 28.png|가운데]]<br>
| |
− | <br>
| |
− | '''라. 아키텍처 구성'''<br>
| |
− | [[파일:컴통수 29.png|가운데]]<br>
| |
− | <br>
| |
| | | |
| ==결과 및 평가== | | ==결과 및 평가== |
| ===완료 작품의 소개=== | | ===완료 작품의 소개=== |
− | '''프로토타입 사진'''<br>
| + | ====프로토타입 사진 혹은 작동 장면==== |
− | ◇ 초기 인증 및 유저 등록 화면<br>
| + | 내용 |
− | ::[[파일:1_초기 인증 및 유저 등록 화면-1.png]][[파일:1_초기 인증 및 유저 등록 화면-2.png]][[파일:1_초기 인증 및 유저 등록 화면-3.png]]<br>
| + | ====포스터==== |
− | ::[[파일:1_초기 인증 및 유저 등록 화면-4.png]][[파일:1_초기 인증 및 유저 등록 화면-5.png]][[파일:1_초기 인증 및 유저 등록 화면-6.png]]<br><br><br><br>
| + | 내용 |
− | | |
− | ◇ 메인 화면 및 운동 추천안 조회<br>
| |
− | ::[[파일:2_메인 화면 및 운동 추천안 조회-1.png]][[파일:2_메인 화면 및 운동 추천안 조회-2.png]][[파일:2_메인 화면 및 운동 추천안 조회-3.png]]<br><br><br><br>
| |
| | | |
− | ◇ 운동 기록 작성 화면<br>
| + | ===관련사업비 내역서=== |
− | ::[[파일:3_운동 기록 작성 화면-1.png]][[파일:3_운동 기록 작성 화면-2.png]][[파일:3_운동 기록 작성 화면-3.png]]<br>
| + | 내용 |
− | ::[[파일:3_운동 기록 작성 화면-4.png]][[파일:3_운동 기록 작성 화면-5.png]][[파일:3_운동 기록 작성 화면-6.png]]<br><br><br><br>
| |
− | | |
− | ◇ 운동 목표 화면<br>
| |
− | ::[[파일:4_운동 목표 화면-1.png]][[파일:4_운동 목표 화면-2.png]]<br><br><br><br>
| |
− | | |
− | ◇ 커뮤니티 화면 및 게시판 화면<br>
| |
− | ::[[파일:5_커뮤니티 화면 및 게시판 화면-1.png]][[파일:5_커뮤니티 화면 및 게시판 화면-2.png]][[파일:5_커뮤니티 화면 및 게시판 화면-3.png]]<br>
| |
− | ::[[파일:5_커뮤니티 화면 및 게시판 화면-4.png]][[파일:5_커뮤니티 화면 및 게시판 화면-5.png]]<br><br><br><br>
| |
− | | |
− | ◇ 모임 개설 및 조회 화면<br>
| |
− | ::[[파일:6_모임 개설 및 조회 화면-1.png]][[파일:6_모임 개설 및 조회 화면-2.png]][[파일:6_모임 개설 및 조회 화면-3.png]]<br><br><br><br>
| |
− | | |
− | ◇ 모임 참가 신청 화면<br>
| |
− | ::[[파일:7_모임 참가 신청 화면-1.png]][[파일:7_모임 참가 신청 화면-2.png]]<br><br><br><br>
| |
− | | |
− | ◇ 모임 기록 작성 화면<br>
| |
− | ::[[파일:8_모임 기록 작성 화면-1.png]][[파일:8_모임 기록 작성 화면-2.png]][[파일:8_모임 기록 작성 화면-3.png]]<br><br><br>
| |
− | | |
− | ===개발사업비 내역서=== | |
− | [[파일:개발사업비 내역서-1re.png|가운데]]
| |
| | | |
| ===완료작품의 평가=== | | ===완료작품의 평가=== |
− | '''가. 평가 기준'''
| + | 내용 |
− | :◇ 편의성<br>
| |
− | :: • 유저가 운동 기록을 편리하게 할 수 있는가<br>
| |
− | :: • 유저가 운동 모임 참여를 편리하게 할 수 있는가<br><br>
| |
− | :◇ 안정성<br>
| |
− | :: • 문제나 에러를 발생시킬 위험이 있는가<br>
| |
− | :: • 사용자 의도대로 기능이 잘 작동하는가<br><br>
| |
− | :◇ 차별성<br>
| |
− | :: • 유사 어플리케이션과의 차이점이 있는가<br>
| |
− | :: • 유사 어플리케이션을 대신할 핵심 기능이 존재하는가<br><br>
| |
− | | |
− | '''나. 평가 내용'''
| |
− | :최저 1점에서 최대 5점으로 평가 진행<br><br>
| |
− | [[파일:완료작품의 평가-1.png|가운데]]
| |
| | | |
| ===향후계획=== | | ===향후계획=== |
− | '''가. 어려웠던 내용들'''
| + | 내용 |
− | :◇ 4명으로 구성되어 있는 다른 팀과 비교하여, 3명으로 구성되어 있는 팀이기 때문에 개인별로 맡은 작업량이 꽤나 많아 프로젝트 진행 과정에서 여러 문제점 발생<br>
| |
− | :◇ 인원수가 부족한 것에 더해 각자 컴퓨터과학종합설계 과목 이외에도 여러 일정이 많았기에, 자율적으로 맡은 부분을 진행하여 추후 작업 내용을 연결하는 부분에서 어려움 발생<br>
| |
− | :◇ 구성원 모두 경험이 없는 분야를 새롭게 이해하고 도입하는 과정에서 여러 불편함 및 어려움 발생<br>
| |
− | :◇ RAG 아키텍쳐 구현을 위한 질 높은 데이터 취합의 난이도가 높았고, 더욱 향상된 답변을 위한 프롬프트 엔지니어링 과정에서 사소한 프롬프트 변화가 큰 변화를 야기하여 어려움 발생<br>
| |
− | :◇ 상대적으로 소규모의 인원으로 가능한 최대의 효율을 이끌기 위해 팀 내 소통하는 과정에서 서로 다른 의견을 내비치는 경우가 많았기에, 합의점을 찾는 과정에서 많은 어려움을 겪음<br>
| |
− | :◇ 사용자가 우리의 프로젝트를 쉽게 이해할 수 있도록 보고서를 작성하는 과정에서 어려움 발생<br><br>
| |
− | | |
− | '''나. 차후 구현할 내용'''
| |
− | :◇ 운동 기록 기능 사용자 편의성 증대 및 다양한 템플릿 추가<br>
| |
− | :◇ 운동 추천 관련하여 좀 더 사용자에게 도움이 되도록 추천의 질 향상<br>
| |
− | :◇ 다양한 운동 취향에 맞는 추천 리스트 제공하기<br>
| |
− | :◇ 커뮤니티 기능에서 예상치 못한 오류 발생 시 수정<br>
| |
− | :◇ 운동 모임을 리스트업 할 때, 사용자 우선 순위에 맞춰서 정보 제공<br><br>
| |
− | | |
− | ===부록===
| |
− | '''A-1 참고문헌 및 참고사이트'''
| |
− | :◇ RAG 아키텍쳐 구현을 위한 데이터베이스<br>
| |
− | :: 1. U.S. Department of Health and Human Services (미 보건복지부)
| |
− | ::: - Physical Activity Guidelines for Americans, 2nd edition [https://odphp.health.gov/sites/default/files/2019-09/Physical_Activity_Guidelines_2nd_edition.pdf]
| |
− | :: 2. American College of Sports Medicine (스포츠 의학과 운동 과학 분야에서 세계적으로 권위있는 기관)
| |
− | ::: - ACSM's Guidelines for Exercise Testing and Prescription, 11th edition [https://acsm.informz.net/acsm/data/images/ACSM%20Guidelines%20Download.pdf]
| |
− | :: 3. 국민건강지식센터 (서울대학교 의과대학) [https://hqcenter.snu.ac.kr/archives/jiphyunjeon_type/health]<br>
| |
− | :: 4. Verywell Fit [https://www.verywellfit.com/], SET FOR SET [https://www.setforset.com/?srsltid=AfmBOoomhhpfC-0-hsmTC5M5WGaiAJn3uoFjAbPitmOmxOFhE22pcJ_c] (운동 관련 검증된 정보를 제공하는 사이트)<br>
| |
− | :: 5. ExerciseDB api [https://rapidapi.com/justin-WFnsXH_t6/api/exercisedb] (운동 종목 및 방법 관련 정보를 제공하는 API)
| |
− | :: 6. 논문
| |
− | ::: - Journal of the Korean Medical Association [https://jkma.org/]
| |
− | ::: - Sports Medicine [https://link.springer.com/journal/40279]<br><br>
| |
− | :◇ 프롬프트 엔지니어링을 위한 공식문서<br>
| |
− | :: 1. Anthropic documentation [https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview]
| |
− | :: 2. Amazon Bedrock documentation [https://catalog.us-east-1.prod.workshops.aws/workshops/0644c9e9-5b82-45f2-8835-3b5aa30b1848/en-US/lessons]<br><br><br>
| |
| | | |
− | '''A-2 소프트웨어 프로그램 소스'''
| + | ===특허 출원 내용=== |
− | :◇ 백엔드
| + | 내용 |
− | :: 1. BedrockService - Bedrock 추천 시스템 조회
| |
− | ::: [[파일:01_백엔드-1.png]]<br><br>
| |
− | :: 2. BatchConfig - 추천 결과 조회 및 데이터 저장 배치 시스템
| |
− | ::: [[파일:01_백엔드-2.png]]<br><br><br>
| |
− | :◇ 프론트엔드
| |
− | :: 1. 어플리케이션과 웹과의 통신을 위한 브릿지 코드
| |
− | ::: [[파일:02_프론트-1 1.png]]<br>
| |
− | ::: [[파일:02_프론트-1 2.png]]<br><br>
| |
− | :: 2. WebView 내에서 Post Method API 처리를 담당하는 Proxy API 코드
| |
− | ::: [[파일:02_프론트-2.png]]
| |