MyGo 云音乐
Go와 MyGo로 만든 서드파티 네이버 클라우드 뮤직 데스크톱 클라이언트
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A modern song library app for musicians featuring chords and lyrics, built with Next.js and ChordPro format.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A modern song library and collaboration platform for musicians, featuring chords and lyrics for your favorite songs. Built with Next.js and powered by the ChordPro file format for chord notation.
A Capo is a small device that clamps onto the neck of a guitar and shortens the length of the strings. The main
advantage of using a capo is that it lets a guitarist play a song in different keys while still using first-position
open-string chord forms.
During past months my son has been learning to play guitar. I decided to build him a tool to make his learning process easier. As a passionate musician and software engineer, I want to create something more powerful by combining my knowledge of music and programming.
Beyond helping beginners learn, this app serves musicians of all levels by providing an organized song library with easy access to chords and lyrics for practice and performance.
Apart from that, it sounds fascinating and fun 🤓.
Browse and manage your personal collection of songs. Filter by musical key, BPM range, and status (active/archived). Full-text search across titles and artists. Songs are stored in ChordPro format and support rich metadata including BPM, key, capo position, and transposition.
Each user can save personal overrides for any song: capo position, transposition semitones, and display font size. These settings are stored per user and do not affect how other users see the same song.
View and edit songs with a split-pane interface: a CodeMirror-powered ChordPro editor on one side and a live-rendered lyrics/chord view on the other. Supports per-section chord colors, multi-column layout preferences, auto-scroll for hands-free performance, and automatic conversion of pasted "chords-over-words" text into ChordPro format.
Create and manage playlists of songs. Reorder songs via drag-and-drop. Archive playlists to hide them from active view without deleting — unarchive at any time. Each playlist can be shared publicly with a unique share code, with optional guest edit access.
A cart-like interface for quickly building playlists. Add songs to a draft from anywhere in the library, then save the draft as a new or existing playlist.
Share any playlist publicly via a unique share code. Recipients can view the full playlist and individual song sheets without needing an account. Real-time updates keep shared playlists in sync when the owner reorders songs.
Create new songs or edit existing ones using the ChordPro format. The song editor includes syntax highlighting, live preview, and metadata fields (title, artist, key, BPM, capo, transpose).
Browse a built-in chord glossary organized by key, search chords by name, and identify chords from guitar fingering positions. Supports both left-hand and right-hand chord diagram orientations.
Play any chord as audio directly from the chord glossary, chord analyzer, or the lyrics editor chord diagram dialog. Powered by Tone.js with a singleton MIDI sampler for low-latency playback.
Create teams and invite other users by email. Team members share a common song library and playlists. Role-based access control (owner, admin, member, viewer). Manage pending invitations, transfer ownership, and switch between personal and team contexts. Real-time updates for team membership changes.
An overview page showing library stats (total songs, playlists, teams) and recently added songs for quick access.
Tracks user engagement across the app in real time to surface relevant content and support future personalization.
Sign in with Google OAuth. Sessions are managed via Supabase Auth.
This project uses Feature-Based Architecture (FBA) for better code organization and scalability.
| Feature | Purpose |
|---|---|
activity | Real-time activity tracking across the app |
app-context | Global context for team/bucket switching and view filters |
auth | Google OAuth authentication via Supabase Auth |
chord-audio | Chord audio playback via Tone.js MIDI sampler |
chords | Chord glossary, search, and guitar chord analyzer |
dashboard | Overview stats (songs, playlists, teams) and recent songs |
feedback | In-app feedback and newsletter opt-in form |
lyrics-editor | CodeMirror ChordPro editor with live preview and auto-scroll |
playlist-draft | Quick-add-to-playlist cart for building setlists on the fly |
playlist-sharing | Public playlist sharing via unique share codes |
playlists | Create, manage, reorder, share, and archive playlists |
settings | Theme (light/dark), language, chord hand, account management |
song-draft | Create and edit songs in ChordPro format |
songs | Song library management with search, filtering, and editing |
teams | Team creation, role-based access, and email invitations |
Install fnm, Node, and pnpm:
# Install fnm as node version manager
curl -fsSL https://fnm.vercel.app/install | bash
# fnm automatically uses the Node version from .node-version
fnm use
# Install pnpm globally
npm install -g pnpm
# Install project dependencies
pnpm install
# Start Supabase services locally
pnpm supabase start
See Supabase Local Development Guide for more details.
To enable Google OAuth for local development:
http://localhost:3000/auth/callbackFor local testing with Google Auth, create OAuth credentials with:
http://localhost:3000/auth/callbackpnpm dev
This starts the Next.js development server at http://localhost:3000.
Note: Ensure Supabase services are running before starting the dev server.
Contribute with me, supporting this project through
Happy Coding!