Skip to content

Latest commit

 

History

History
73 lines (58 loc) · 6.5 KB

File metadata and controls

73 lines (58 loc) · 6.5 KB

ChakBookApp

프로젝트 개요

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)으로 사용되며, 코드 작성, 디버깅 및 앱 배포를 관리합니다.

주요 기능 및 사용법

  1. ChakBot: 책 추천 챗봇 착봇은 Dialogflow를 이용한 자연어 처리 및 사용자 의도를 파악하여 사용자의 입력에 따라 적절한 책 추천 및 정보를 제공합니다.
  2. 책 추천: 사용자는 '역사책 추천해줘', '김소월 작가 책 추천해줘' 등과 같은 명령어를 입력하여 책을 추천받을 수 있습니다. 챗봇은 Dialogflow를 활용하여 사용자의 요청을 분석하고 적절한 책을 추천합니다.
    • 키워드를 통한 책 추천 (예: "역사책 추천해줘")
    • 작가 이름을 통한 책 추천 (예: "김소월 작가 책 추천해줘")
    • 출판사 이름을 통한 책 추천 (예: "푸른숲 출판사 책 추천해줘")
  3. 책 정보 탐색: 추천된 책의 상세 정보를 보기 위해 사용자는 'more info' 버튼을 클릭할 수 있습니다. 버튼을 누르면 책 정보가 담긴 URL로 이동합니다. 이 기능은 외부 책 정보 API를 통해 제공됩니다.
  4. 책 저장 및 조회: 사용자는 챗봇에게 추천받은 책을 저장할 수 있으며, 채팅의 별 모양 버튼을 통해 리스트에 저장됩니다. 저장된 책은 앱 내에서 상단바 우측 책 모양 아이콘을 눌러 챗봇을 통해 다시 조회할 수 있습니다. 이는 앱 자체 리스트 기능을 통해 관리됩니다. (추후 SQLite 등 데이터베이스 구축 예정)

프로젝트 개발 과정

  1. 아이디어 구상 및 기획

    • 문제 정의: 사용자가 원하는 책을 쉽게 찾기 어려운 문제를 해결하기 위해 책 추천 챗봇 앱을 기획.
    • 목표 설정: 자연어 처리 기술을 활용하여 사용자 입력을 이해하고, 적절한 책을 추천하는 기능 구현.
  2. 기술 스택 및 도구 선정

    • Flutter & Dart: 크로스 플랫폼 개발을 위해 Flutter와 Dart를 선정.
    • Dialogflow: 자연어 처리 및 챗봇 구현을 위해 구글의 Dialogflow를 선택.
    • Git & GitHub: 버전 관리와 협업을 위해 Git과 GitHub를 사용.
  3. 초기 개발 환경 구축

    • Flutter 및 Dart 설치: Flutter SDK와 Dart SDK 설치 및 환경 설정.
    • Android Studio 설정: Android Studio 설치 후 Flutter 및 Dart 플러그인 설정.
    • GitHub 레포지토리 생성: 프로젝트의 버전 관리를 위해 GitHub 레포지토리 생성 및 연결.
  4. UI/UX 디자인

    • Figma를 이용한 디자인 작업: 사용자 경험을 고려한 UI 디자인 제작 및 피드백 반영.
  5. 기능 개발

    • 챗봇 기능 구현: Dialogflow를 이용한 자연어 처리 모델 개발 및 연동.
    • 책 추천 기능: Kakao API를 이용하여 책 추천 기능 구현.
    • 책 정보 탐색 기능: 추천받은 책의 상세 정보를 제공하는 기능 구현.
    • 책 저장 및 조회 기능: 사용자가 추천받은 책을 저장하고 조회할 수 있는 기능 구현.
  6. 테스트 및 디버깅

    • 기능 테스트: 각 기능별로 테스트를 진행하여 오류 수정 및 성능 최적화.
    • 사용자 테스트: 베타 테스트를 통해 사용자 피드백 수집 및 반영.
  7. 문서화 및 배포

    • 개발 문서 작성: 프로젝트의 전체 개발 과정, 기술 스택, 주요 기능, 사용 방법 등을 문서화.
    • 앱 배포: 추후 완성된 앱을 Google Play Store 및 Apple App Store에 배포.
  8. 유지보수 및 업데이트

    • 지속적인 개선: 사용자 피드백을 반영하여 앱 기능 개선 및 업데이트.
    • 버그 수정: 발견된 버그를 신속히 수정하여 안정적인 서비스 제공.
    • 플랫폼: 안드로이드 앱을 우선 개발 후 iOS 완성 예정.

Dialogflow 구성 및 API 연동

  • Agent: 사용자와의 대화를 관리하며, 입력을 분석하고 적절한 응답을 생성합니다.
  • Intents와 Entities: 사용자의 의도와 대화에서 중요한 데이터 포인트를 정의하고, 이를 기반으로 챗봇이 응답할 수 있게 합니다.
  • Kakao API: 책 검색 및 정보 제공을 위해 사용되며, 책의 제목, 저자, 출판사 등의 정보를 조회할 수 있습니다.