尚未检测到更新。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 브랜치는 미리보기 주소가 생깁니다.