尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Premium music streaming web app focused on immersive UI, motion design, and beautiful listening experiences.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Tarang (तरङ्ग, "wave") is a music-first streaming web app. It is not a Spotify clone: it is an exploration of what a player feels like when glass surfaces, one shared motion language and a documented design system are treated as product decisions.查看完整 README ↗
Run it · Features · Architecture · Installation · Reports
Tarang (तरङ्ग, "wave") is a music-first streaming web app. It is not a Spotify clone: it is an exploration of what a player feels like when glass surfaces, one shared motion language and a documented design system are treated as product decisions.
It plays demo audio and YouTube search results through a persistent floating player, with a full now-playing view, a queue, time-synced lyrics with translations, playlists and folders, moods, listening stats and simulated offline downloads. There is no backend, account system or required environment variable. The catalog is seed data in data/ and your state is kept in the browser.
git clone https://github.com/Samudra-GITHub/Tarang.git
cd Tarang && npm install && npm run dev
Then open http://localhost:3000, press Play Now, and click the floating player to expand it.
Also: a living design-system reference at /design-system, an internal /dev-tools page, reduced-motion support, live-region announcements and global keyboard shortcuts.
| Layer | Technology |
|---|---|
| Framework | Next.js 15 (App Router), React 19, TypeScript 5 |
| Styling | Tailwind CSS 4, design tokens in styles/tokens.css, shadcn/ui, Radix UI |
| Motion | Framer Motion with shared variants in lib/motion.ts and lib/motion-variants.ts |
| State | Zustand with persist |
| Playback and search | HTML audio, YouTube IFrame Player API, Invidious API |
flowchart LR
UI[Routes in app/] --> V[Feature views<br/>features/]
V --> P[player-store<br/>Zustand]
P --> A[HTML audio<br/>seed tracks]
P --> Y[YouTube IFrame engine<br/>YouTube results]
V --> S[(Seed data<br/>data/)]
V --> L[(localStorage<br/>library · downloads · settings)]
V --> I[Invidious search]
lib/store/player-store.ts owns playback state and bridges events from both the native audio element and the YouTube IFrame wrapper (features/youtube/youtube-engine.ts), so the UI does not care which engine is playing.app/ stay small and render views from features/.Known constraints: search relies on community-run Invidious instances that can go offline (the list is in features/youtube/invidious-client.ts), and artwork comes from picsum.photos with placeholder demo audio.
Tarang/
├── app/ Routes: album, artist, playlist, library, search, moods,
│ downloads, stats, settings, design-system, dev-tools
├── components/ cards, charts, collection, decorative, layout, tracks, ui
├── features/ home, player, library, search, moods, stats, downloads, settings, youtube
├── hooks/ reduced motion, shortcuts, online status, dominant colour, tilt
├── lib/ motion, glass tokens, formatting, search, stats, store/
├── data/ Seed songs, albums, artists, playlists, moods, lyrics
├── styles/ tokens.css
└── docs/ Design system, reports, screenshots
Requires Node.js and npm.
npm install
| Command | What it does |
|---|---|
npm run dev | Start the dev server on port 3000 |
npm run build | Production build |
npm run start | Serve the production build |
npm run lint | Run ESLint |
Nothing is required. Optionally set NEXT_PUBLIC_SITE_URL to the deployed origin so metadata, the sitemap and robots use the right URL (default http://localhost:3000).
No deployment configuration is included. It is a standard Next.js app (npm run build, then npm run start).
The docs/ folder holds the project's own write-ups: the design system, an accessibility report, a performance report, the design-system migration status and the v3 release report.
MIT.