유니티 개발자 커뮤니티 비빔밥 웹사이트 프로젝트
Go to file
이정수 35f1dc3de9 feat(search): W3-1 게임 태그 + 검색 확장 — tags/game_tags/jam_tags/game_views + 다중태그·정렬키·방문수·리뷰 정렬
- 신규 4테이블(tags/game_tags/jam_tags/game_views) + games.view_count ALTER: docs/tag-ddl.sql 권위 + db/schema.sql 동기 사본, 멱등(IF NOT EXISTS/DO $$ guard)
- 통합 태그 도메인: tag_type(GAME/JAM/COMMON) + 운영자 사전정의·사용자 pending→승인 하이브리드. slug/name UNIQUE
- 검색 확장 GamesMapper.searchGamesAdvanced(SearchCriteria): 태그 다중필터(AND HAVING==tagCount / OR IN) + 제작자 ILIKE + 정렬키 6(latest/likes/views/reviews/rating/relevance) + 잼 검색 라우트(/games/search?jam={slug}, jam_entries 조인). 기존 searchVisibleGames 보존(회귀 0)
- game_review_stats VIEW LEFT JOIN: avg_rating AS "avgRating"/review_count AS "reviewCount" 케이스폴딩 인용. NULLS LAST. 정렬키/tagMode 는 <choose> 내부 고정문자열
- 방문수: game_views 24h dedupe(interval) + games.view_count 비정규화 증분. GameController view 훅
- 태그 관리 API: TagController(생성/승인/비활성/부착) CSRF 전수 + /admin/tags CONTENT_MODERATE 게이트. TagSanitizer 길이2~20·화이트리스트·금칙어(banned-words.txt)
- 신규 4매퍼 #{} only(${} 0건). GameData nullable 박스필드(viewCount/avgRating/reviewCount) 확장. BibimbapApplicationTests @MockBean 4종

검증: 컨테이너 ./mvnw -o test 235/235 GREEN(신규 45: TagSanitizerTest 16·SearchControllerTest 10·TagControllerTest 19), 회귀 0. L2 격리 throwaway DB contract PASS(alias 케이스폴딩 인용/비인용 대조·NULLS LAST·AND⊆OR·ILIKE·interval dedupe). 집합전수 AC-1/2/4/5 PASS. 실 dev DB 무접촉.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K3FeMrbtxfTScjrwUukyHD
2026-06-29 10:44:23 +09:00
.atp/work-session chore(atp): W2 work-session 산출물 기록 (sid 20260624-100749) 2026-06-24 14:23:13 +09:00
.mvn/wrapper Prepare public repository 2026-05-03 16:13:32 +09:00
.serena chore(dev): W3-2 테스트용 dev seed + serena memory 2026-06-18 14:35:33 +09:00
certs feat: 로컬 개발환경 셋업 (Docker + 호스트 직접) 검증 + 온보딩 문서 2026-06-17 11:55:30 +09:00
db feat(search): W3-1 게임 태그 + 검색 확장 — tags/game_tags/jam_tags/game_views + 다중태그·정렬키·방문수·리뷰 정렬 2026-06-29 10:44:23 +09:00
docs feat(search): W3-1 게임 태그 + 검색 확장 — tags/game_tags/jam_tags/game_views + 다중태그·정렬키·방문수·리뷰 정렬 2026-06-29 10:44:23 +09:00
src feat(search): W3-1 게임 태그 + 검색 확장 — tags/game_tags/jam_tags/game_views + 다중태그·정렬키·방문수·리뷰 정렬 2026-06-29 10:44:23 +09:00
.dockerignore feat: 로컬 개발환경 셋업 (Docker + 호스트 직접) 검증 + 온보딩 문서 2026-06-17 11:55:30 +09:00
.env.example feat: 로컬 개발환경 셋업 (Docker + 호스트 직접) 검증 + 온보딩 문서 2026-06-17 11:55:30 +09:00
.gitattributes Prepare public repository 2026-05-03 16:13:32 +09:00
.gitignore feat: 로컬 개발환경 셋업 (Docker + 호스트 직접) 검증 + 온보딩 문서 2026-06-17 11:55:30 +09:00
CLAUDE.md docs(dev): 비-메인스트림 브랜치 커밋 표준 승인 정책 추가 2026-06-22 16:59:09 +09:00
Dockerfile feat: 로컬 개발환경 셋업 (Docker + 호스트 직접) 검증 + 온보딩 문서 2026-06-17 11:55:30 +09:00
docker-compose.yml feat: 로컬 개발환경 셋업 (Docker + 호스트 직접) 검증 + 온보딩 문서 2026-06-17 11:55:30 +09:00
mvnw feat: 로컬 개발환경 셋업 (Docker + 호스트 직접) 검증 + 온보딩 문서 2026-06-17 11:55:30 +09:00
mvnw.cmd Prepare public repository 2026-05-03 16:13:32 +09:00
pom.xml 사이트 이용 약관 처리 2026-05-03 23:01:42 +09:00