Skip to content

ChakTeam/ChakBookApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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: 책 검색 및 정보 제공을 위해 사용되며, 책의 제목, 저자, 출판사 등의 정보를 조회할 수 있습니다.

About

2024-1학기 컴퓨터공학 캡스톤 디자인 - 책 추천 챗봇 앱 착북

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages