MyGo 云音乐
Go와 MyGo로 만든 서드파티 네이버 클라우드 뮤직 데스크톱 클라이언트
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A social rating site for music: rate albums, artists and songs out of 10, follow people, and see three scores wherever something is rated (yellow for everyone, red for you, blue for the people you follow).
Live at https://mulo-plum.vercel.app.
Next.js 16 (App Router) with React 19 and Tailwind v4, on Vercel in Sydney
(syd1). Supabase (Postgres, auth, storage) in Sydney. The catalogue comes
from MusicBrainz and is cached in Postgres; artist photos and bios from
Wikidata and Wikipedia; popularity from ListenBrainz.
You need Node 22 (see .nvmrc) and access to a Supabase project.
npm install
cp .env.example .env.local # then fill in the values
npm run dev # http://localhost:3000
.env.example explains each setting. The three Supabase ones are required;
the site logs a plain message at startup for any that are missing.
Use a test project for local work, not the live one. The service role key bypasses row-level security, so a local mistake with it lands on real data.
| Command | What it does |
|---|---|
npm run dev | Development server with hot reload. |
npm run build | Production build. |
npm run start | Serve the production build. |
npm run typecheck | Generate route types, then check TypeScript. |
npm run lint | ESLint. |
npm run format | Rewrite files with Prettier. |
npm run format:check | Report files Prettier would change. |
npm test | Unit tests (Vitest), including replaying every migration in PGlite. |
npm run test:e2e | Browser tests (Playwright) against a production build. Build first. |
npm run check | Typecheck, lint, format check and unit tests in one go. |
npm run db:types | Regenerate src/lib/supabase/database.types.ts from the migrations. |
Browser tests that sign in need a non-production Supabase project and the
E2E_* settings in .env.example; without them they skip.
GitHub Actions (.github/workflows/ci.yml) runs typecheck, lint, the
Prettier check, unit tests, a production build and the browser tests on
every push and pull request. A red cross on a commit in GitHub means one of
them failed; the run's page says which.
A push to master deploys to production on Vercel. Other branches get
preview deployments.
Database changes are separate: each file in supabase/migrations/ is run by
hand in the Supabase SQL editor, in order. Every migration is written to be
safe to run twice. If a code change depends on a migration, run the
migration first; docs/supabase-setup.md lists the ones still pending.
One-off maintenance scripts in scripts/ run against the database named in
.env.local, for example:
node --env-file=.env.local scripts/seed-catalog.mjs --albums=1000
Each explains what it does and its options at the top of the file, including whether it's safe to stop and rerun.