🖼️ Figma | 🪞 소개 자료 | 📜 API 명세서 | 📜 요구사항 명세서
보드게임 카페에 가면 수많은 보드게임 중 어떤 게임을 선택해야 할지 고민한 경험, 다들 있으시죠?
JamesBoard는 바로 이 문제에서 출발했습니다. 우리는 보드게임을 고르는 데 어려움을 겪은 경험을 바탕으로, 사용자에게 맞춤형 보드게임을 추천해주는 서비스를 기획하게 되었습니다.
- 사용자의 선호 장르, 플레이 인원, 난이도, 시간 등 취향에 맞는 보드게임 추천
- 다른 사용자들의 리뷰 및 평가 기반 추천
- 플레이 시간, 인기 순위 등 다양한 데이터 기반 추천 기능
| App |
|
| Back-end |
|
| DevOps |
|
| Tools |
|
앱을 처음 사용하는 사용자는 9가지 보드게임 장르(파티, 전략, 경제, 모험, 롤플레잉, 가족, 추리, 전쟁, 추상전략) 중에서 선호하는 장르를 선택하고, 해당 장르에 속하는 게임 중 하나를 선택하게 됩니다. 이후 선택한 게임을 기반으로 SBert 로직을 활용한 콘텐츠 기반 추천이 이루어지며, 이를 통해 Cold Start 문제를 효과적으로 해결하고, 사용자의 취향에 맞는 추천 게임 정보를 제공합니다.
| Login | onboarding | Recommend |
|---|---|---|
![]() |
![]() |
![]() |
홈 화면에서는 사용자가 보드게임의 카테고리, 인원수, 난이도 등을 기준으로 게임 정보를 필터링하거나 검색할 수 있습니다. 또한, 각 게임에 대해 평점을 남길 수 있는데, 이때 남기는 평점은 단순한 피드백을 넘어 개인화된 추천 시스템의 핵심 데이터로 활용됩니다.
사용자가 10개 이상의 게임을 평가하게 되면, 시스템은 충분한 사용자 선호도 데이터가 확보되었다고 판단하여 추천 방식을 고도화합니다. 이때부터는 초기 온보딩에서 제공하던 콘텐츠 기반 필터링에 더해, 다른 유사 사용자들의 평가 패턴을 분석하는 협업 필터링이 함께 작동합니다.
두 방식은 협업 필터링 70%, 콘텐츠 기반 필터링 30% 의 비율로 결합되어 더욱 정확한 추천을 제공하며, 만약 하이브리드 추천에서 적합한 결과가 없을 경우 시스템은 자동으로 콘텐츠 기반 필터링으로 대체하여 항상 최적의 추천을 보장합니다.
| Home | Rating | Filter | Search |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
저희는 단순한 추천을 넘어, 챗봇을 통해 보드게임 정보와 맞춤형 추천을 제공합니다. 사용자의 질문 의도에 따라 추천, 비교, 일반 세 가지 모드로 동작하며, 키워드를 분석해 적절한 방식으로 응답합니다.
챗봇은 KBLaM(Knowledge-Based Language Model) 아키텍처를 기반으로, 게임 정보를 entity-attribute-value 형식의 지식 트리플로 저장하고, ChromaDB를 활용한 벡터 검색을 통해 빠르게 관련 정보를 찾습니다. 질의 처리 과정은 키워드 분석 → 모드 결정 → 벡터 검색 → 지식 구성 → 응답 생성의 순서로 이루어집니다.
또한, 4단계 키워드 가중치 시스템을 적용해 보드게임 관련 질의를 정확히 판단하며, 게임 제목, 장르, 메커니즘 등 다양한 요소를 분석합니다. Langchain 기반 메모리 시스템으로 멀티턴 대화를 지원하고, 검색 실패 시 DB 검색이나 인기 게임 기반 응답을 제공하는 폴백 메커니즘도 갖추고 있어 사용자 경험을 향상시킵니다.
| Chatbot |
|---|
![]() |
아카이브 등록 기능을 통하여 사용자가 자신의 보드게임을 플레이 내역을 기록할 수 있습니다. 이를 통해 자신을 포함한 모든 사용자들의 아카이브를 통해 추억을 엿볼 수 있습니다.
| Archive | Archive |
|---|---|
![]() |
![]() |
마이페이지에서 내 기본 정보와 임무 보고 리스트 및 임무 통계 내역을 확인할 수 있습니다.
| MyInfo |
|---|
![]() |
| Architecture |
|---|
![]() |
| ERD |
|---|
![]() |
|
|
|
|
|
|
|
김두영 BE & DevOps |
강민석 BE & AI |
차현우 BE & Data |
박장훈 App & UI/UX |
김성현 App & UI/UX |
김동현 App & Data |
- Notion 생성
- Jira 생성
- Convention 설정 (Git, Code, Naming)
- Code Convention 설정
- 빅데이터 추천 서비스 기획
- API 명세서 작성
- ERD 구성
- DevOps 구성
- 빅데이터 수집 및 전처리
- Spring 서버 구현
- 콘텐츠 기반 필터링 로직 구현
- App UI/UX 디자인
- [3/14] 전문가 1차 미팅
- APP UI/UX 개발
- FastAPI 서버 구현
- 하이브리드 필터링 로직 구현
- [3/21] 중간 발표
- Spring, FastAPI 서버 기능 개선
- App 기능 개선
- [3/28] 전문가 2차 미팅
- App Widget 개발
- 빅데이터 로직 기능 개선
- 콘텐츠 기반 필터링 Bug Fix
- 하이브리드 필터링 Bug Fix
- 영상 포트폴리오 작성
- AI 챗봇 시스템 구성 및 구현
- App Bug Fix
- App Bug Fix
- [4/8] 1차 QA
- [4/9] 2차 QA
- [4/10] 3차 QA
- [4/11] 최종 발표














