Skip to content

chore : 버전 2.12.0 - #310

Merged
GulSam00 merged 26 commits into
mainfrom
develop
Aug 26, 2026
Merged

chore : 버전 2.12.0#310
GulSam00 merged 26 commits into
mainfrom
develop

Conversation

@GulSam00

Copy link
Copy Markdown
Owner

📌 PR 제목

Chore : 버전 2.12.0

📌 변경 사항

  • 인기곡 페이지에 노래방 공식 차트(TJ)를 추가했습니다. 년-월별 순위와 장르별 필터를 지원합니다.
  • 곡의 반주 버전(MR, 라이브, 60) 정보를 검색 결과와 인기차트에서 확인할 수 있습니다.
  • 곡 카드 디자인을 통일하고 인기차트·최신곡 페이지 UI를 개선했습니다.
  • 이달의 아티스트 기능을 추가했습니다. 포인트를 사용해 좋아하는 아티스트에게 투표할 수 있습니다.
  • 매월 투표 결과가 확정되며, 순위와 득표 현황을 확인할 수 있습니다.
  • 이달의 아티스트로 선정된 가수의 곡에는 카드에 배지가 표시됩니다.

💬 추가 참고 사항

GulSam00 and others added 26 commits August 20, 2026 11:50
포인트로 아티스트에 투표하는 artist_votes, 월별 1~10위를 확정하는
monthly_artist_rankings, 그리고 두 테이블이 FK로 참조하는 artists
마스터 테이블 스키마를 추가한다. 투표 증감/삭제(PUT), 랭킹/투표자
조회, 매일 00:10 KST에 전월을 확정하는 finalize 배치(GitHub Actions +
service role 전용 라우트)까지 백엔드 전체를 구성한다.
songs 테이블을 순회하며 artistAlias로 표기를 정규화하고, song_tags
언어 태그로 country_code를, artist_ko/artistAlias로 name_ko를
추정해 artists 테이블을 채우는 backfillArtists.ts를 추가한다.
ARTIST_BACKFILL_SINCE_DAYS로 최초(전체) 백필과 매달 증분 백필을
구분하며, 매달 1일 자동 실행되는 GitHub Actions 워크플로우를 함께 둔다.
artists 테이블을 name/name_ko로 검색하는 GET /api/artists/search와
클라이언트 훅을 추가한다. 이달의 아티스트 투표 모달의 아티스트
자동완성이 이 API를 쓴다.
하단 내비게이션 '인기곡'을 '인기 차트'로 바꾸고 /popular를 노래방
인기곡/이달의 아티스트 탭으로 재구성한다. 이달의 아티스트 탭은 월
선택, 1~3위 포디움과 4~10위 리스트, 투표자 상세, 투표 모달(검색 +
내 투표 증감/삭제)로 구성된다. 월 선택 UI는 기존 인기차트와
공유하도록 MonthSelector로 분리했다. 곡 카드 공통 컴포넌트
SongSummary에는 이번 달 1위 아티스트 배지(★ 누적 선정 횟수 포함)를
추가한다.
SQL 실행, artists 최초 백필, 환경변수/시크릿 등록 등 코드 완성 후
남은 수동 작업을 진행 중인 작업 섹션에 정리한다.
artists.country_code(임의 문자열)를 기존 tags 테이블을 참조하는
language_tag_id FK로 교체하고, 스키마를 정책 없이 테이블·RLS enable만
남기도록 정리한다.

백필 정규화는 애매하게 잘라 쓰는 대신 명확한 기준으로 무효 처리하는
쪽으로 단순화한다 — 쉼표, &/&, ×/・, feat, with, 앞뒤 단어가 있는
x-콜라보(예: "지코 X 아이유")가 하나라도 있으면 그 곡의 artist는
백필 대상에서 제외한다. 살아남은 값은 첫 괄호 앞부분만 남기되(내용
무관), 잘랐을 때 빈 문자열이 되면("(여자)아이들"처럼 이름 자체가
괄호로 시작하는 경우) 원문을 유지한다. songs.updated_at도 증분
스캔 조건에 포함해 기존 곡의 artist 오타 수정 같은 걸 놓치지
않게 한다.

백필 실행 로그를 파일로 남기고(packages/crawling/src/assets/
artistBackfillLog.txt) GitHub Actions에서도 아티팩트로 업로드한다.
오작동하던 언어 태그 필터(LanguageTagFilter)를 검색 화면과
api/search에서 걷어낸다. UI 컴포넌트, 관련 훅(useSearchSong,
useSaveSongModal)과 쿼리(searchSongQuery)의 languageTag 파라미터,
api/search의 song_tags 조인 필터링 로직, 가이드 투어 스텝을 모두
제거한다.
언어 태그 필터 오작동을 계기로 태그 기능 자체를 끈다. artists 백필에서
language_tag_id 산출 로직과 스키마 컬럼 정의를 제거하고, tags/song_tags를
등록하거나 참조하던 taggingSongs.ts와 translationJpn.ts는 삭제 대신
전체 주석처리한다. 연결된 GitHub Actions 스케줄(tagging_song.yml,
translation_jpn.yml)도 schedule 트리거만 주석처리해 자동 실행을
멈추고, workflow_dispatch로 필요하면 수동 실행은 가능하게 남긴다.
tags/song_tags 테이블 자체는 DB에서 지우지 않는다.
태그 기능 제거 배경을 참고용으로 남기고, 이달의 아티스트 잔여 작업
목록에 아티스트 투표/검색 기능 동작 검증 항목을 추가한다.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CPpnfzdUzPYFQZrjzNL65k
지난 달 확정 순위 대신 투표 화면이 바로 뜨도록 기본 조회 월을 바꿨다.
지난 결과는 월 선택기 이전 버튼으로 간다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V8fYzTjtYk4gbrNcFWFkRU
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V8fYzTjtYk4gbrNcFWFkRU
[Feat] : 포인트 투표 기반 이달의 아티스트 선정 기능 (#307)
@qodo-code-review

Copy link
Copy Markdown

ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing

@vercel

vercel Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
singcode Ready Ready Preview Aug 26, 2026 4:09pm

@GulSam00
GulSam00 merged commit 1d32dca into main Aug 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant