尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗개인용 음악 플레이어. 프론트엔드는 index.html 한 파일, 백엔드는 Vercel 서버리스 함수입니다.
songs 테이블JWT_SECRET으로 서명)| 경로 | 역할 |
|---|---|
index.html | 앱 전체 (홈, 보관함, 업로드, 설정) |
api/auth/register.js | 회원가입 |
api/auth/login.js | 로그인 |
api/songs.js | 내 곡 목록 / 저장 / 삭제 (계정별로 분리) |
api/blob-token.js | 업로드 토큰 발급 (로그인 확인 후) |
lib/auth.js | 토큰 발급과 확인 |
sw.js, manifest.json | PWA (설치, 셸 캐시) |
로그인이 필요한 API는 헤더 Authorization: Bearer <token>을 보내야 합니다. 없거나 틀리면 401.
| 메서드 | 경로 | 설명 |
|---|---|---|
| POST | /api/auth/register | { email, password } 가입 (비밀번호 8자 이상), { token, user } 반환 |
| POST | /api/auth/login | { email, password } 로그인, { token, user } 반환 |
| GET | /api/songs | 내 곡 목록 (최신순, 최대 500개) |
| POST | /api/songs | { title, artist?, url, size? } 저장. url은 우리 Blob 주소만 허용 |
| DELETE | /api/songs?id=<uuid> | 내 곡 삭제 (DB 행과 Blob 파일) |
| POST | /api/blob-token | Vercel Blob 업로드 토큰 발급 (Blob 클라이언트가 호출) |
업로드 한도: 파일당 500MB. 50MB를 넘으면 자동으로 나눠서 올립니다.
DATABASE_URL — Neon 연결 문자열BLOB_READ_WRITE_TOKEN — Vercel > Storage > Blob 스토어 연결 시 자동 생성JWT_SECRET — 로그인 토큰 서명 키. 길고 임의의 문자열로 정하세요 (없으면 가입과 로그인이 실패합니다)songs 테이블은 첫 요청 때 자동으로 만들어집니다.
GitHub에 push하면 Vercel이 자동 배포합니다. PR 브랜치는 미리보기 주소가 생깁니다.