Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
838 commits
Select commit Hold shift + click to select a range
f2c4d86
fix: 인기도에서 역대 최고 동접 제외외
Nov 12, 2025
3f63577
fix: 게임 추천 이유 수정
Nov 12, 2025
9fba4f4
fix : 사이드바 수정
yuuuuuu32 Nov 12, 2025
97d7826
feat: 로그 설정
Nov 12, 2025
0cfd2b4
refact: 성능 최적화
Nov 12, 2025
6146bef
fix: 게임 설명 일부 제거 및 정렬 추가
Nov 12, 2025
83d9e4d
feat : 추천 섹션
yuuuuuu32 Nov 12, 2025
17c09ab
refact: 최적화
Nov 12, 2025
b2fa0c5
feat : 추천 페이지
yuuuuuu32 Nov 12, 2025
fb23965
fix : 랭킹 디자인 수정
yuuuuuu32 Nov 12, 2025
11ef603
Merge branch 'feature/FE-recommend' into 'develop'
Nov 12, 2025
f21173f
feat: 추천 게임에서 필터링 추가
Nov 12, 2025
92c78d1
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
Nov 12, 2025
6ab23e7
Merge branch 'feature/BE-recommend' into 'develop'
Nov 12, 2025
5eede90
feat: 파비콘 및 로고 수정
yuuuuuu32 Nov 12, 2025
f63f17b
fix: 게임 추천 이유 수정
Nov 12, 2025
9dd9acb
Merge branch 'feature/BE-recommend' into 'develop'
Nov 12, 2025
278e9f6
chore: 필터 제거
pashkite Nov 12, 2025
9befebf
Merge branch 'feature/FE-auth-profile' into 'develop'
pashkite Nov 12, 2025
1ddc837
feat: 게임 좋아요 추가 및 삭제
Nov 12, 2025
8c6a57a
Merge branch 'feature/BE-game' into 'develop'
Nov 12, 2025
6b06d02
remove: 사용하지 않는 정렬 삭제
Nov 12, 2025
bd6b8de
Merge branch 'feature/FE-recommend' into 'develop'
Nov 12, 2025
ba6aa59
feat : 선호하는 게임 가격대에 대한 질문,응답,점수계산 추가
Nov 12, 2025
0db6553
feat: 보유 게임, 위시리스트 조회 정렬 및 필터링 추가
Nov 12, 2025
ceb11a6
Merge branch 'feature/BE-game' into 'develop'
Nov 12, 2025
e38c90a
feat : 최근 2주간 평균 플레이시간, 지금까지의 플레이시간이 모두 0인 경우는 제외하고 조회
Nov 12, 2025
86104c3
fix : 헤더 로고 수정
yuuuuuu32 Nov 12, 2025
93e07fe
fix : 조건문 수정
Nov 12, 2025
c69b1e2
Merge branch 'feature/BE-akinator' into 'develop'
SEUNGJAE-97 Nov 12, 2025
d43fbcb
fix : 상세 페이지 레이아웃 변경
yuuuuuu32 Nov 12, 2025
5a619f7
임시
yuuuuuu32 Nov 12, 2025
686c588
Merge branch 'feature/FE-design' into 'develop'
Nov 12, 2025
b068739
refact: 최적화
Nov 12, 2025
5c2afaf
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
Nov 12, 2025
609a5db
refact: 필터링 자동 적용 수정
Nov 12, 2025
f94baba
chore: switch
pashkite Nov 13, 2025
18012ba
feat: 라이브러리 api 변경
pashkite Nov 13, 2025
408af7d
fix: 프로필 페이지 로딩 문제
pashkite Nov 13, 2025
2be125a
chore: 빌드 문제
pashkite Nov 13, 2025
8bfc53e
Merge branch 'feature/FE-api-connect' into 'develop'
pashkite Nov 13, 2025
53dbbc1
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
pashkite Nov 13, 2025
f26118f
fix : 사이드바 할인율 제거
yuuuuuu32 Nov 13, 2025
4f83777
design : 챗봇
yuuuuuu32 Nov 13, 2025
11592d3
design : 전체 폰트 변경(프리텐다드)
yuuuuuu32 Nov 13, 2025
af829d1
fix : 위시리스트 오류
pashkite Nov 13, 2025
af8495e
임시
yuuuuuu32 Nov 13, 2025
6e50fec
fix: 프로필 페이지 로딩 문제
pashkite Nov 13, 2025
94b5fc4
Merge branch 'feature/FE-auth-profile' into 'develop'
pashkite Nov 13, 2025
a461a20
임시
yuuuuuu32 Nov 13, 2025
e18883d
임시
yuuuuuu32 Nov 13, 2025
920310b
임시
yuuuuuu32 Nov 13, 2025
278480b
임시
yuuuuuu32 Nov 13, 2025
437859b
Merge branch 'feature/FE-design' into 'develop'
Nov 13, 2025
4881bd9
chore: 아키네이터 api 수정
pashkite Nov 13, 2025
aa80c89
Merge branch 'feature/FE-akinator' into 'develop'
pashkite Nov 13, 2025
50844be
fix : 라이브러리 사이드바 및 필터
yuuuuuu32 Nov 13, 2025
7093034
Merge branch 'feature/FE-design' into 'develop'
Nov 13, 2025
6a79a28
fix : 설정 아이콘 수정
yuuuuuu32 Nov 13, 2025
896bcee
design: 게임 목록에서 보주 중인 게임 목록 표기
pashkite Nov 13, 2025
ea2112b
Merge branch 'feature/FE-game-list' into 'develop'
pashkite Nov 13, 2025
82fac99
fix : 사이드바 접었을 때 수정
yuuuuuu32 Nov 13, 2025
5a38fe0
fix : 챗봇 수정
yuuuuuu32 Nov 13, 2025
b14a1ea
fix : 설정 아이콘 수정
yuuuuuu32 Nov 13, 2025
aaff850
fix : 사이드바 접었을 때 수정
yuuuuuu32 Nov 13, 2025
94f461c
fix : 챗봇 수정
yuuuuuu32 Nov 13, 2025
2c7e9c5
fix: 보유 게임 조회 오류 수정
Nov 13, 2025
28a99f0
임시
yuuuuuu32 Nov 13, 2025
f79f4c7
fix :
yuuuuuu32 Nov 13, 2025
fc9b5e7
fix :
yuuuuuu32 Nov 13, 2025
575b8fe
Merge branch 'feature/FE-design' into 'develop'
Nov 13, 2025
22247e2
fix: 위시 리스트 필터링 조회되게
Nov 13, 2025
f40456c
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
Nov 13, 2025
875fa45
Merge branch 'feature/BE-player' into 'develop'
Nov 13, 2025
322f29d
fix : 평균 플레이 타임 제거
yuuuuuu32 Nov 13, 2025
1d1065d
fix : 평균 플레이 타임 제거
yuuuuuu32 Nov 13, 2025
bc751bd
Merge branch 'feature/FE-design' into 'develop'
Nov 13, 2025
005115b
feat : 19금 필터 추가
yuuuuuu32 Nov 13, 2025
5a55dc6
Merge branch 'feature/FE-design' into 'develop'
Nov 13, 2025
f8b2a34
feat : 19금 필터 추가
yuuuuuu32 Nov 13, 2025
b1d8c44
feat : 19금 필터 추가
yuuuuuu32 Nov 13, 2025
4f39949
Merge branch 'feature/FE-design' into 'develop'
Nov 13, 2025
da4c3a3
fix: 선정적 콘텐츠 필터 바로 적용
Nov 13, 2025
b04e0c5
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
Nov 13, 2025
ac696bc
fix: redis 캐싱 수정
Nov 13, 2025
ef1f9ad
fix: 타임아웃 기준 늘리기
Nov 13, 2025
d60cd09
fix: 필터 변경 수정
Nov 13, 2025
6813d00
refact: 완전 비동기 처리
Nov 13, 2025
b685da0
fix : 챗봇 반응형
yuuuuuu32 Nov 13, 2025
5e331c2
feat: 헤더에 추천 추가
pashkite Nov 13, 2025
0f62eb5
Merge branch 'feature/FE-header' into 'develop'
pashkite Nov 13, 2025
79a0958
style:추천케임 케러셀
yuuuuuu32 Nov 13, 2025
ff381d3
chore: 무료 게임 보유 미표시 문제 해결
pashkite Nov 13, 2025
50a30ad
Merge branch 'feature/FE-header' into 'develop'
pashkite Nov 13, 2025
af548e6
feat: í: 선정적 콘텐츠 필터링에 개발사 추가
Nov 13, 2025
7bf543d
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
Nov 13, 2025
ed01769
feat : 비로그인 추천로직
yuuuuuu32 Nov 13, 2025
f6c2de4
feat: 개발사 추가
Nov 13, 2025
6cb7639
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
yuuuuuu32 Nov 13, 2025
6afc9f7
Merge branch 'feature/FE-design' into 'develop'
Nov 13, 2025
1d849d9
style
yuuuuuu32 Nov 13, 2025
9947499
Merge branch 'feature/FE-design' into 'develop'
Nov 13, 2025
71708e1
feat: 개 필터링 할 개발사 추가
Nov 13, 2025
90ef71f
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
Nov 13, 2025
8a79dac
chore: 언어 변경
pashkite Nov 13, 2025
520fea8
Merge branch 'feature/FE-header' into 'develop'
pashkite Nov 13, 2025
6032e83
fix: 스팀 게임 연ë api url 수정
Nov 13, 2025
a6624e4
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
Nov 13, 2025
64a0c23
refact: 전체 게임 조회 최적화
Nov 13, 2025
af70389
refact: 정렬 기준 추가
Nov 13, 2025
fa09a4f
refact: rating 컬럼 추가
Nov 13, 2025
9f8458a
refact: rating 게산 대신 db 사용
Nov 13, 2025
d48d2f0
feat: 필터링 개발사 추가
Nov 13, 2025
f490728
refact: react-query 적용
Nov 13, 2025
790ddd6
Merge branch 'feature/BE-game' into 'develop'
Nov 13, 2025
7817e7c
refact: react query 적용
Nov 13, 2025
6f96614
refact: 캐싱 사용 및 쿼리 최적화
Nov 13, 2025
18df049
refact: 서브 쿼리 제거
Nov 13, 2025
f948e40
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
Nov 14, 2025
e2bfa4e
Merge branch 'feature/BE-game' into 'develop'
Nov 14, 2025
3821b3b
refact: 게임 상세 정보 및 속성 목록 캐싱
Nov 14, 2025
11e78bb
design: 헤더 움직이던 문제 해결
pashkite Nov 14, 2025
6de04a1
Merge branch 'feature/FE-header' into 'develop'
pashkite Nov 14, 2025
9ca230b
fix: 검색 창에 데이터 입력 후 페이지 이동을 하여도 검색 기록이 남아있던 문제 해결
pashkite Nov 14, 2025
b0c544f
chore: 검색 글자수 제한
pashkite Nov 14, 2025
4252ebd
Merge branch 'feature/FE-header' into 'develop'
pashkite Nov 14, 2025
a782726
fix : 최소길이 삭제, 최대 길이 추가
yuuuuuu32 Nov 14, 2025
63730ca
refactor : 아키네이터 응답, 요청 변경
Nov 14, 2025
8b1ef5d
Merge branch 'feature/BE-akinator' into 'develop'
SEUNGJAE-97 Nov 14, 2025
eb23cb3
chore: 라이브러리 페이지
pashkite Nov 14, 2025
94b04bd
design: 비로그인 시 챗봇 비활성화
pashkite Nov 14, 2025
55e4d00
feat: 게임 연동 로그 추가
Nov 14, 2025
a4b71b3
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
yuuuuuu32 Nov 14, 2025
c24e3f7
chore: 아키네이터 수정
pashkite Nov 14, 2025
3688875
Merge branch 'feature/FE-library' into 'develop'
pashkite Nov 14, 2025
a1f7bbc
fix: 챗봇 답번 두 번 반복되던 문제 해결
pashkite Nov 14, 2025
1b10d12
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
yuuuuuu32 Nov 14, 2025
e521c43
design: 챗봇 수정
pashkite Nov 14, 2025
ac1cf21
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
Nov 14, 2025
5b4b129
refact: 검색 및 리뷰 글자수 제한
Nov 14, 2025
9430103
Merge branch 'feature/BE-game' into 'develop'
Nov 14, 2025
73011d0
design: 챗봇 이미지 설정
pashkite Nov 14, 2025
9fe1944
fix: rating db 조회
Nov 14, 2025
e5ad343
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
yuuuuuu32 Nov 14, 2025
3c297d2
feat : 랭킹에서 스크린샷 추가
yuuuuuu32 Nov 14, 2025
fa7afa8
design: 챗봇 이미지 설정
pashkite Nov 14, 2025
43b3873
Merge branch 'feature/FE-chatbot' into 'develop'
pashkite Nov 14, 2025
dce6b8d
chore: 아키네이터 수정
pashkite Nov 14, 2025
c904199
Merge branch 'feature/FE-chatbot' into 'develop'
pashkite Nov 14, 2025
4d580bf
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
Nov 14, 2025
44dd158
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
yuuuuuu32 Nov 14, 2025
6eadd1d
fix
yuuuuuu32 Nov 14, 2025
f23cb68
refact: 추천 알고리즘 개선
Nov 14, 2025
37eab52
fix : 타입에러
yuuuuuu32 Nov 14, 2025
a6b2768
Merge branch 'feature/FE-fix' into 'develop'
Nov 14, 2025
020250f
refact: 태그가 없으면 설명 유사도 가중치 증가
Nov 14, 2025
c49f877
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
Nov 14, 2025
dc72b28
fix : 최대 가격 수정
yuuuuuu32 Nov 15, 2025
4c33a53
feat : 가격 입력 필드 추가
yuuuuuu32 Nov 15, 2025
405a97f
feat : 슬라이더 색상 추가
yuuuuuu32 Nov 15, 2025
f57c87d
feat : 전체 갯수 추가
yuuuuuu32 Nov 15, 2025
819878c
feat : 뒤에 코난 제거
yuuuuuu32 Nov 15, 2025
7a8f3c5
리드미 수정
yuuuuuu32 Nov 15, 2025
8358085
feat : 아키네이터 애니메이션
yuuuuuu32 Nov 15, 2025
62d9755
fix
yuuuuuu32 Nov 15, 2025
3b48c2b
Edit README.md
Nov 16, 2025
70ccd41
Merge branch 'feature/BE-recommend' into 'develop'
Nov 16, 2025
2c56372
Merge branch 'feature/FE-fix' into 'develop'
Nov 17, 2025
758cca0
fix
yuuuuuu32 Nov 17, 2025
0e44ffc
리드미 수정
yuuuuuu32 Nov 17, 2025
7e6f13f
Merge branch 'develop' into 'feature/FE-aki-design'
Nov 17, 2025
99d99e5
Merge branch 'feature/FE-aki-design' into 'develop'
Nov 17, 2025
b43c0ff
리드미 수정
yuuuuuu32 Nov 17, 2025
1cee14e
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
yuuuuuu32 Nov 17, 2025
d127819
리드미 수정
yuuuuuu32 Nov 17, 2025
93c6440
Merge branch 'feature/FE-aki-design' into 'develop'
Nov 17, 2025
43d51fc
design: 아키네이터 페이지
pashkite Nov 17, 2025
6e99d12
refact: train 삭제 및 fast api 스케쥴러 등록
Nov 17, 2025
4e2f5f5
Merge branch 'feature/BE-recommend' into 'develop'
Nov 17, 2025
3d75324
chore : 게임 필터링 조건 추가
Nov 17, 2025
e285fdb
Merge branch 'feature/BE-akinator' into 'develop'
SEUNGJAE-97 Nov 17, 2025
df06e59
refact: 오프라인 학습 비동기 전환
Nov 17, 2025
b2cfb65
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
Nov 17, 2025
1cef41c
Merge branch 'feature/BE-recommend' into 'develop'
Nov 17, 2025
7567873
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
pashkite Nov 17, 2025
3c14ce8
design: 아키네이터 페이지
pashkite Nov 17, 2025
2a5ad58
Merge branch 'feature/FE-akinator' into 'develop'
pashkite Nov 17, 2025
64dde95
design: 아키네이터 수정
pashkite Nov 17, 2025
b83dec7
Merge branch 'feature/FE-akinator' into 'develop'
pashkite Nov 17, 2025
7f7807a
chore : peak ccu 500 이상만 조회
Nov 17, 2025
d286e9a
Merge branch 'feature/BE-akinator' into 'develop'
SEUNGJAE-97 Nov 17, 2025
da1ac17
fix : 가격 계산 -> 필터로 변경
Nov 17, 2025
6104bcc
Merge branch 'develop' into 'feature/BE-akinator'
SEUNGJAE-97 Nov 17, 2025
a2bc854
merge develop
Nov 17, 2025
f6c7ba3
Merge branch 'feature/BE-akinator' into 'develop'
SEUNGJAE-97 Nov 17, 2025
50873a4
feat: 개발사 필터링 추가
Nov 17, 2025
bdf8f7a
chore : 플랫폼 점수 제거
Nov 17, 2025
721174f
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
Nov 17, 2025
f40f299
Merge branch 'feature/BE-game' into 'develop'
Nov 17, 2025
76b1c33
design: 아키네이터 진행바 수정
pashkite Nov 18, 2025
ee552ac
Merge branch 'feature/FE-akinator' into 'develop'
pashkite Nov 18, 2025
75c4e68
chore: 7번째 질문 순서 수정
pashkite Nov 18, 2025
3a09f08
Merge branch 'feature/FE-akinator' into 'develop'
pashkite Nov 18, 2025
6c7a64e
chore: 챗봇 수정
pashkite Nov 18, 2025
eaf4950
chore: 사용하지 않던 함수 제거
pashkite Nov 18, 2025
ac4560e
chore: 사용하지아 않던 변수 제거
pashkite Nov 18, 2025
b43d2eb
refactor : 점수계산방식 -> 필터링방식
Nov 18, 2025
769ef22
Merge branch 'feature/BE-akinator' into 'develop'
SEUNGJAE-97 Nov 18, 2025
d59ffdd
Merge branch 'feature/FE-akinator' into 'develop'
pashkite Nov 18, 2025
61870b3
chore : 장르 또는 태그 중 하나라도 일치하면 필터 조건에 추가
Nov 18, 2025
f35c1d4
Merge branch 'feature/BE-akinator' into 'develop'
SEUNGJAE-97 Nov 18, 2025
2c347ae
fix : 단계적 필터 적용
Nov 18, 2025
cd366e8
Merge branch 'feature/BE-akinator' into 'develop'
SEUNGJAE-97 Nov 18, 2025
8649af0
chore: 캐싱 의존성 추가
Nov 18, 2025
53bd0f7
chore: 캐싱 properties 설정
Nov 18, 2025
f7b6d09
refact: 인메모리 캐싱을 활용해 2단계 캐싱
Nov 18, 2025
3efbe02
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
Nov 18, 2025
e92e2e8
Merge branch 'feature/BE-game' into 'develop'
Nov 18, 2025
a59442d
fix : 랭킹 안내려가는거 해결
yuuuuuu32 Nov 18, 2025
7a4e3c2
fix : 평점 앞부분 파란색
yuuuuuu32 Nov 18, 2025
6be25fb
Merge branch 'feature/FE-aki-design' into 'develop'
Nov 19, 2025
da743e0
design: 챗봇 수정
pashkite Nov 19, 2025
15c7e3a
Merge branch 'feature/FE-akinator' into 'develop'
pashkite Nov 19, 2025
dbe0336
fix : 양방향 슬라이더
yuuuuuu32 Nov 19, 2025
890afd1
feat : 2주 게임 기록 없을 때 처리
yuuuuuu32 Nov 19, 2025
8b5edaf
fix : 필요없는 사진 제거
yuuuuuu32 Nov 19, 2025
73597ff
fix : 추천 배경 변경
yuuuuuu32 Nov 19, 2025
a2f45c3
Merge branch 'feature/FE-aki-design' into 'develop'
Nov 19, 2025
c67b53d
fix: 추천 게임에 인기 없는 게임은 추천되지 않게 수정
Nov 19, 2025
d919301
design: 챗봇 크기 조정
pashkite Nov 19, 2025
384ba69
Merge branch 'feature/FE-akinator' into 'develop'
pashkite Nov 19, 2025
4fd1882
design: 추천 게임 캐러셀 수정
pashkite Nov 19, 2025
f0c135d
Merge branch 'feature/FE-akinator' into 'develop'
pashkite Nov 19, 2025
e0eced3
fix: 필터 on/off가 바로 적용되게 수정
Nov 19, 2025
10c491b
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
Nov 19, 2025
b9eb5e8
Merge branch 'feature/BE-recommend' into 'develop'
Nov 19, 2025
58df21f
fix: 슬라이드 크기 재계산
Nov 19, 2025
87578ad
fix: 게임 추천 슬라이드 수정
Nov 19, 2025
68b04ab
fix: 툴팁 메시지 박스 위치 및 크기 수정
Nov 19, 2025
29553dc
Merge branch 'fix/FE' into 'develop'
Nov 19, 2025
60f0ee7
docs: Readme 수정
dnjswns98 Nov 19, 2025
eddbc90
chore: 보유 게임 비율 수정
dnjswns98 Nov 20, 2025
6a0acae
chore: 최근 플레이 기록 요약 수정
dnjswns98 Nov 20, 2025
f98ad72
Merge branch 'dev-AI' into 'master'
Nov 20, 2025
915ebdf
rename: 하나의 폴더로 통합
Nov 20, 2025
2f9bcf0
Merge branch 'develop' of https://lab.ssafy.com/s13-final/S13P31D106 …
Nov 20, 2025
2d11119
merge: DevOps
dnjswns98 Nov 20, 2025
f690696
Merge branch 'dev-infra' into 'master'
dnjswns98 Nov 20, 2025
e3f57c8
docs: 포팅 메뉴얼
Nov 20, 2025
c729916
Merge branch 'master' of https://lab.ssafy.com/s13-final/S13P31D106 i…
Nov 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions Monitoring-Jenkins/docker-compose.monitoring.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
services:
# Prometheus 설정
prometheus:
image: prom/prometheus:latest
container_name: prometheus
ports:
- "9090:9090" # Prometheus 웹 인터페이스
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml # Prometheus 설정 파일
networks:
- monitoring

# Grafana 설정
grafana:
image: grafana/grafana:latest
container_name: grafana
ports:
- "3000:3000" # Grafana 대시보드
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin # 기본 관리자 비밀번호
depends_on:
- prometheus
networks:
- monitoring

networks:
monitoring:
driver: bridge
1 change: 1 addition & 0 deletions Monitoring-Jenkins/grafana/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
data/
16 changes: 16 additions & 0 deletions Monitoring-Jenkins/jenkins/docker-compose.jenkins.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
version: "3.8"

services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
restart: unless-stopped
user: root
ports:
- "8081:8080"
- "50000:50000"
volumes:
- /var/jenkins_home:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
environment:
- TZ=Asia/Seoul
23 changes: 23 additions & 0 deletions Monitoring-Jenkins/prometheus/prometheus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
global:
scrape_interval: 15s # 메트릭 수집 주기

scrape_configs:
# 백엔드 서비스 메트릭 수집 (백엔드 서버의 메트릭을 수집)
- job_name: 'backend'
scheme: https
metrics_path: '/metrics/back'
static_configs:
- targets: ['goodgamefinder.xyz']

# PostgreSQL Exporter 메트릭 수집 (Postgres Exporter가 설정되어 있다면)
- job_name: 'postgres'
scheme: https
metrics_path: '/metrics/db'
static_configs:
- targets: ['goodgamefinder.xyz']

- job_name: 'node_exporter'
metrics_path: '/metrics/system'
scheme: https
static_configs:
- targets: ['goodgamefinder.xyz']
171 changes: 138 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,140 @@
# SSAFY 12기 자율 프로젝트 - D106팀
# 🎮 GG (Good Game Finder) - 3가지 엔진을 탑재한 AI 게임 추천 플랫폼

SSAFY 13기 자율 프로젝트 D106팀의 공식 Repository입니다.
[![React](https://img.shields.io/badge/React-18.2.0-61DAFB?style=for-the-badge&logo=react)](https://reactjs.org/) [![Spring Boot](https://img.shields.io/badge/Spring_Boot-3.5.6-6DB33F?style=for-the-badge&logo=spring)](https://spring.io/projects/spring-boot) [![FastAPI](https://img.shields.io/badge/FastAPI-0.120.0-009688?style=for-the-badge&logo=fastapi)](https://fastapi.tiangolo.com/) [![LangChain](https://img.shields.io/badge/LangChain-1.0.3-8A2BE2?style=for-the-badge)](https://www.langchain.com/)

**GG(Good Game Finder)**는 사용자의 취향과 상황에 맞춰 최적의 게임을 발견할 수 있도록, 각기 다른 강점을 가진 **3가지 핵심 추천 엔진**을 탑재한 AI 기반 개인화 게임 추천 플랫폼입니다.

MSA(Microservice Architecture) 기반으로 설계되었으며, 사용자의 복합적인 요구사항을 만족시키기 위해 전통적인 머신러닝, 생성형 AI, 로직 기반 필터링을 모두 활용합니다.

## 🗓️ 프로젝트 주요 일정
---

| 날짜 | 내용 | 비고 |
| --- | --- | --- |
| 2025.10.10(금) | 자율 프로젝트 시작 및 첫 팀 미팅 | |
| 2025.10.15(수) | 프로젝트 계획서 제출 및 1차 교보재 신청 (예정) | |
| 2025.10.17(금) | Field Trip | |
| 2025.10.24(금) | **중간 평가** | 기획/설계 내용 기반 발표 (10분 내외) |
| 2025.11.20(목) | **최종 평가** | 최종 발표 (시연 포함 15분) |
| 2025.11.24(월) ~ | 포트폴리오 위크 | 프로젝트 회고 및 마무리 |
## ✨ 주요 기능 및 설계

## Ground Rules
### 🖥️ 프론트엔드 (UI/UX)

우리 팀은 SSAFY 자율 프로젝트 Ground Rule을 준수합니다.
사용자 경험의 중심이 되는 웹 애플리케이션으로, React 기반의 반응형 SPA(Single Page Application)로 구축되었습니다.

- **미팅 시간**
- **오전 미팅(조회):** 매일 09:00 시작 (라이브 방송 시 방송 후)
- **오후 미팅(종례):** 매일 17:30 시작, **금요일은 17:00 시작**
- **협업 Tool**
- **GitLab, Jira, Mattermost, Webex**를 반드시 사용합니다.
- Mattermost 공지는 이모지로 확인 반응을 남겨 적극적으로 소통합니다.
- **프로젝트 관리**
- 매일 **Stand up Scrum 회의**로 하루를 시작합니다.
- 매주 **금요일** Sprint 회고를 진행하고, 회고록을 팀 채널에 공유합니다.
- 기획 내용은 `Readme.md`에 꾸준히 업데이트합니다.
- **컴포넌트 기반 아키텍처**: 재사용성과 유지보수성을 높이기 위해 `features`와 `shared` 디렉토리 구조를 채택했습니다. 각 기능(게임, 프로필, 인증 등)별로 컴포넌트를 분리하고, 공용 컴포넌트(레이아웃, UI 요소 등)는 `shared`에서 관리하여 일관성을 유지합니다.
- **서버 상태 관리**: `TanStack Query`를 핵심 라이브러리로 사용하여 서버와의 비동기 통신을 관리합니다. 이를 통해 데이터 캐싱, 자동 리프레시, 로딩 및 에러 상태 처리를 선언적으로 구현하여 코드 복잡도를 줄이고 사용자 경험을 향상시켰습니다.
- **UI 디자인 시스템**: `Tailwind CSS`와 `shadcn/ui`를 기반으로 자체 디자인 시스템을 구축하여, 프로젝트 전반에 걸쳐 통일성 있고 세련된 UI를 제공합니다. `Recharts`를 활용한 데이터 시각화, `embla-carousel`을 이용한 캐러셀 등 동적인 UI 요소를 적극적으로 사용합니다.
- **전역 상태 및 라우팅**: `React Context`를 통해 사용자 인증 정보(`AuthContext`), 테마(`ThemeProvider`) 등 전역 상태를 관리하며, `React Router`를 사용하여 페이지 간 부드러운 전환을 제공합니다.

## 👥 팀원 소개
### ⚙️ 3가지 핵심 추천 엔진

GG 플랫폼은 사용자의 다양한 탐색 시나리오에 대응하기 위해 세 가지의 독립적인 추천 엔진을 제공합니다.

#### 1. 개인 맞춤 추천 (ML-based Recommendation)

> "나의 플레이 패턴을 분석해서 좋아할 만한 게임을 자동으로 추천해줘."

- **담당 서비스**: `gg-recommend`
- **기술 방식**: **전통적 머신러닝 (하이브리드 필터링)**
- **상세 로직**:
1. **데이터 분석**: 사용자의 Steam 라이브러리, 플레이 시간, '좋아요' 기록, 리뷰 평가 등 다양한 상호작용에 가중치를 부여하여 단일 상호작용 점수(`r_ui`)를 계산합니다.
2. **후보군 생성 (Candidate Generation)**:
- **협업 필터링 (CF)**: 계산된 상호작용 점수를 기반으로 **Item-Item k-NN** 모델을 사용하여 '나와 비슷한 취향의 유저들이 즐긴 게임'을 후보로 추천합니다.
- **콘텐츠 기반 (CB)**: **TF-IDF**와 **SVD**로 벡터화된 게임의 콘텐츠(장르, 태그 등) 유사도를 기반으로 '내가 즐긴 게임과 비슷한 게임'을 후보로 추천합니다.
3. **순위 재조정 (Ranking)**: 생성된 후보군들을 인기도, 최신성, 리뷰 점수 등 다양한 기준으로 재정렬하여 최종 추천 목록을 제공합니다.

#### 2. 대화형 AI 추천 (Conversational AI Recommendation)

> "최근에 친구랑 할만한 긴장감 넘치는 멀티플레이 FPS 게임 뭐 없을까?"

- **담당 서비스**: `AI-SERVER`
- **기술 방식**: **생성형 AI (RAG - Retrieval-Augmented Generation)**
- **상세 로직**:
1. **의도 분석**: 사용자의 자연어 질문 의도(단순 추천, 비교, 조건 검색 등)를 `LangChain`을 통해 분류합니다.
2. **정보 검색 (Retrieval)**:
- **하이브리드 검색**: 질문의 의도와 문맥을 모두 고려하기 위해 **키워드 기반 검색(BM25)**과 **의미 기반 벡터 검색**을 동시에 사용해 가장 관련성 높은 게임들을 DB(MongoDB Atlas)에서 찾아냅니다.
3. **프롬프트 생성 및 LLM 호출 (Generation)**: 검색된 게임 정보, 사용자 정보(필요시), 원본 질문을 조합하여 LLM(대규모 언어 모델)을 위한 정교한 프롬프트를 생성합니다. LLM은 이 프롬프트를 바탕으로 추천 이유를 포함한 자연스러운 답변을 만들어냅니다.

#### 3. 아키네이터 추천 (Filter-based Recommendation)

> "내가 원하는 장르, 분위기, 플레이 방식을 하나씩 선택해서 딱 맞는 게임을 찾아보고 싶어."

- **담당 서비스**: `gg-backend`
- **기술 방식**: **로직 기반 필터링 시스템**
- **상세 로직**:
1. **질문-답변 진행**: '스무고개'처럼 시스템이 제시하는 질문(e.g., "혼자서 하는 게임인가요?", "스토리가 중요한가요?")에 사용자가 답변합니다.
2. **후보군 필터링**: 각 답변에 해당하는 게임 속성(장르, 태그 등)을 기준으로 전체 게임 목록을 실시간으로 필터링하여 후보군을 점차 좁혀나갑니다.
3. **결과 제시**: 모든 질문이 끝나면, 최종적으로 남은 게임을 추천 결과로 제시합니다. 머신러닝 모델 없이, 정해진 로직에 따라 빠르고 명확한 결과를 제공하는 것이 특징입니다.

---

## 🏗️ 아키텍처 및 기술 스택

```mermaid
graph TD
subgraph "사용자"
A[Browser]
end

subgraph "인프라 (Docker)"
B[Nginx]
C[gg-frontend]
D[gg-backend]
E[gg-recommend]
F[AI-SERVER]
G[gg-ingester]
H[PostgreSQL]
I[Redis]
J[MongoDB Atlas]
end

| 포지션 | 이름 | 희망 기술 |
| --- | --- | --- |
| 팀장, 프론트엔드 | 윤문정 | UI/UX 기획 및 프론트엔드 개발 |
| 백엔드 | 이창환 | 실시간 데이터 파이프라인 설계 및 백엔드 API 개발 |
| AI/MLOps | 송하윤 | AI 모델 학습 및 MLOps(CI/CD) 파이프라인 구축 |
| 백엔드 | 하승재 | 웹소켓 기반 서버 및 백엔드 API 개발 |
| 백엔드 | 박범준 | 백엔드 API 개발 및 DB 설계 |
| 프론트엔드 | 박재연 | 프론트엔드 개발 |
subgraph "외부 API"
K[Steam API]
L[LLM API]
end

A -- HTTPS --> B
B -- / --> C
B -- /api --> D

D -- 개인 맞춤 추천 요청 --> E
D -- 아키네이터 로직 처리 --> D
D -- 대화형 AI 추천 요청 --> F

E -- 학습/추론 데이터 --> H
D -- 메인 데이터 --> H
G -- 수집 데이터 저장 --> H

F -- 벡터/메타데이터 --> J
F -- LLM 호출 --> L
G -- 플레이어 수 수집 --> K
```

| 서비스 | 역할 | 주요 기술 |
| :--- | :--- | :--- |
| **gg-frontend** | 웹 프론트엔드 | `React`, `TypeScript`, `Vite`, `Tailwind CSS`, `shadcn/ui`, `TanStack Query` |
| **gg-backend** | 메인 API 서버, **아키네이터 엔진** | `Java 21`, `Spring Boot`, `JPA`, `QueryDSL`, `JJWT` |
| **gg-recommend** | **개인 맞춤 추천 엔진 (ML)** | `Python`, `FastAPI`, `Scikit-learn`, `Pandas`, `SQLAlchemy` |
| **AI-SERVER** | **대화형 AI 추천 엔진 (RAG)** | `Python`, `FastAPI`, `LangChain`, `Pytorch`, `Sentence-Transformers`, `MongoDB` |
| **gg-ingester** | 데이터 수집기 | `Python`, `FastAPI`, `APScheduler`, `AsyncPG`, `AIOHTTP` |
| **Monitoring-Jenkins** | 모니터링 & CI/CD | `Prometheus`, `Grafana`, `Jenkins`, `Docker`, `Docker Compose` |
| **데이터베이스** | 데이터 저장소 | `PostgreSQL`, `Redis`, `MongoDB` |

---

## 🚀 시작하기 (Getting Started)

본 프로젝트는 `docker-compose`를 사용하여 모든 서비스를 한 번에 실행할 수 있습니다.

1. **Repository 클론 및 환경 변수 설정**
```bash
git clone https://github.com/your-repo/S13P31D106.git
cd S13P31D106
# 각 서비스의 .env.example 파일을 참고하여 .env 파일 생성 및 설정
```

2. **Docker Compose 실행**
```bash
# 필요한 docker-compose 파일을 조합하여 실행
docker-compose -f ... up --build
```

3. **애플리케이션 접속**: `http://localhost`

---

## ✍️ Git Commit Convention

Expand All @@ -54,4 +148,15 @@ SSAFY 13기 자율 프로젝트 D106팀의 공식 Repository입니다.
| `test` | 테스트 코드 추가 및 수정 |
| `chore` | 빌드 업무, 패키지 매니저 등 수정 |

**예시:** `feat: 로그인 기능 추가`
---

## 👥 팀원 소개

| 포지션 | 이름 |
| --- | --- |
| 팀장, 프론트엔드 | 윤문정 |
| 백엔드 | 이창환 |
| AI/MLOps | 송하윤 |
| 백엔드 | 하승재 |
| 백엔드/DevOps | 박원준 |
| 프론트엔드 | 박재연 |
Loading