ChakBook은 ChakBot이라는 챗봇을 사용하여 사용자가 원하는 책을 쉽고 빠르게 찾을 수 있도록 도와주는 챗봇 기반의 모바일 애플리케이션입니다. 보통 인터넷 검색에서는 방대한 양의 데이터(광고, 블로그, 도서 사이트 등)를 모두 제공하여 특정한 책을 간편하게 추천받기 어려운 상황이 있습니다. 이 앱은 사용자와 챗봇의 대화를 통해 한두 권의 책 추천을 제공하여 책을 고르기 쉽게 도움을 주는 것을 목표로 합니다.
- 김나현: 사용자 경험(UX)와 사용자 인터페이스(UI) 디자인을 담당하며, 앱의 프론트엔드 개발과 GitHub를 통한 버전 관리 업무를 맡습니다.
- 유건우: 프로젝트 팀 리더로서, Dialogflow를 이용한 챗봇 기능의 구현 및 외부 API와의 연동 작업을 주도합니다.
- 오상원: 프로젝트 문서화 작업을 담당하며, 개발 과정에서의 피드백을 수집하고 문서를 최신 상태로 유지합니다.
- Flutter & Dart: 크로스 플랫폼 모바일 애플리케이션 개발을 위해 선택된 주요 기술입니다. Flutter는 빠른 개발 속도와 높은 성능, 그리고 아름다운 UI를 구현할 수 있는 장점을 가지고 있습니다.
- Dialogflow: 구글에서 제공하는 자연어 처리(NLP) 플랫폼으로, 사용자의 입력을 이해하고 적절한 응답을 생성하는 데 사용됩니다.
- Git & GitHub: 코드 관리 및 협업을 위한 필수 도구로, 프로젝트의 버전 관리와 변경 사항의 통합을 담당합니다.
- Figma: 인터페이스 디자인을 위해 사용되는 도구로, 팀 내외부의 협업을 쉽게 할 수 있게 지원합니다.
- Flutter 버전 3.19.6 및 Dart SDK 3.3.4: 최신 Flutter 프레임워크와 Dart 언어를 사용하여 앱의 안정성과 호환성을 보장합니다.
- Emulator: Android 13.0 x86_64를 기반으로 한 에뮬레이터에서 앱을 테스트하며, 다양한 스크린 사이즈와 해상도에서의 성능을 검증합니다.
- Android Studio: Flutter 앱 개발을 위한 주요 통합 개발 환경(IDE)으로 사용되며, 코드 작성, 디버깅 및 앱 배포를 관리합니다.
- ChakBot: 책 추천 챗봇 착봇은 Dialogflow를 이용한 자연어 처리 및 사용자 의도를 파악하여 사용자의 입력에 따라 적절한 책 추천 및 정보를 제공합니다.
- 책 추천: 사용자는 '역사책 추천해줘', '김소월 작가 책 추천해줘' 등과 같은 명령어를 입력하여 책을 추천받을 수 있습니다. 챗봇은 Dialogflow를 활용하여 사용자의 요청을 분석하고 적절한 책을 추천합니다.
- 키워드를 통한 책 추천 (예: "역사책 추천해줘")
- 작가 이름을 통한 책 추천 (예: "김소월 작가 책 추천해줘")
- 출판사 이름을 통한 책 추천 (예: "푸른숲 출판사 책 추천해줘")
- 책 정보 탐색: 추천된 책의 상세 정보를 보기 위해 사용자는 'more info' 버튼을 클릭할 수 있습니다. 버튼을 누르면 책 정보가 담긴 URL로 이동합니다. 이 기능은 외부 책 정보 API를 통해 제공됩니다.
- 책 저장 및 조회: 사용자는 챗봇에게 추천받은 책을 저장할 수 있으며, 채팅의 별 모양 버튼을 통해 리스트에 저장됩니다. 저장된 책은 앱 내에서 상단바 우측 책 모양 아이콘을 눌러 챗봇을 통해 다시 조회할 수 있습니다. 이는 앱 자체 리스트 기능을 통해 관리됩니다. (추후 SQLite 등 데이터베이스 구축 예정)
-
아이디어 구상 및 기획
- 문제 정의: 사용자가 원하는 책을 쉽게 찾기 어려운 문제를 해결하기 위해 책 추천 챗봇 앱을 기획.
- 목표 설정: 자연어 처리 기술을 활용하여 사용자 입력을 이해하고, 적절한 책을 추천하는 기능 구현.
-
기술 스택 및 도구 선정
- Flutter & Dart: 크로스 플랫폼 개발을 위해 Flutter와 Dart를 선정.
- Dialogflow: 자연어 처리 및 챗봇 구현을 위해 구글의 Dialogflow를 선택.
- Git & GitHub: 버전 관리와 협업을 위해 Git과 GitHub를 사용.
-
초기 개발 환경 구축
- Flutter 및 Dart 설치: Flutter SDK와 Dart SDK 설치 및 환경 설정.
- Android Studio 설정: Android Studio 설치 후 Flutter 및 Dart 플러그인 설정.
- GitHub 레포지토리 생성: 프로젝트의 버전 관리를 위해 GitHub 레포지토리 생성 및 연결.
-
UI/UX 디자인
- Figma를 이용한 디자인 작업: 사용자 경험을 고려한 UI 디자인 제작 및 피드백 반영.
-
기능 개발
- 챗봇 기능 구현: Dialogflow를 이용한 자연어 처리 모델 개발 및 연동.
- 책 추천 기능: Kakao API를 이용하여 책 추천 기능 구현.
- 책 정보 탐색 기능: 추천받은 책의 상세 정보를 제공하는 기능 구현.
- 책 저장 및 조회 기능: 사용자가 추천받은 책을 저장하고 조회할 수 있는 기능 구현.
-
테스트 및 디버깅
- 기능 테스트: 각 기능별로 테스트를 진행하여 오류 수정 및 성능 최적화.
- 사용자 테스트: 베타 테스트를 통해 사용자 피드백 수집 및 반영.
-
문서화 및 배포
- 개발 문서 작성: 프로젝트의 전체 개발 과정, 기술 스택, 주요 기능, 사용 방법 등을 문서화.
- 앱 배포: 추후 완성된 앱을 Google Play Store 및 Apple App Store에 배포.
-
유지보수 및 업데이트
- 지속적인 개선: 사용자 피드백을 반영하여 앱 기능 개선 및 업데이트.
- 버그 수정: 발견된 버그를 신속히 수정하여 안정적인 서비스 제공.
- 플랫폼: 안드로이드 앱을 우선 개발 후 iOS 완성 예정.
- Agent: 사용자와의 대화를 관리하며, 입력을 분석하고 적절한 응답을 생성합니다.
- Intents와 Entities: 사용자의 의도와 대화에서 중요한 데이터 포인트를 정의하고, 이를 기반으로 챗봇이 응답할 수 있게 합니다.
- Kakao API: 책 검색 및 정보 제공을 위해 사용되며, 책의 제목, 저자, 출판사 등의 정보를 조회할 수 있습니다.