infinitunes icon indicating copy to clipboard operation
infinitunes copied to clipboard

🎵 A Simple Music Player Web App built using ▲ Next.js, shadcn/ui, TailwindCSS, DrizzleORM and more...

infinitunes

[WIP] 🎵 A Simple Music Player Web App made with ▲ Next.js + Tailwind.


 Live Demo 

Building from Source

  • Fetch latest source code from master branch.
git clone https://github.com/rajput-hemant/infinitunes
cd infinitunes
  • Rename .env.example => .env.local, add your own environment variables.

  • Run the app with VS Code or the command line:

bun i
bun dev

TODO

  • [ ] Add Metadata to the pages.
  • [ ] Replace loading spinners with Page Skeletons.
  • [ ] Play rate for shows and podcasts.
  • [ ] Implement the feature to save Favorites, Recently Played Songs in both the db and localStorage.
  • [ ] Add support for User's Playlists.
  • [ ] Add support for Radio Stations.
  • [ ] Create Library, Settings, and Profile pages.
    • Library page
      • [ ] Recently Played
      • [ ] Favorites (Songs, Albums, Playlists)
    • Settings page (Intercepting routes /settings)
      • [ ] Theme Mode (Light, Dark, System)
      • [ ] Theme Color (Zinc, Slate, Stone, Gray, Neutral, Red, Rose, Orange, Green, Blue, Yellow, Violet)
      • [ ] Language (Hindi, English, Punjabi, Tamil, Telugu, Marathi, Gujarati, Bengali, Kannada, Bhojpuri, Malayalam, Urdu, Haryanvi, Rajasthani, Odia, Assamese)
      • [ ] Image Quality (Low, Medium, High)
      • [ ] Audio Quality (12kbps, 48kbps, 96kbps, 160kbps, 320kbps)
      • [ ] Download Quality (12kbps, 48kbps, 96kbps, 160kbps, 320kbps)
      • [ ] Download Location
      • [ ] Clear Cache
      • [ ] Delete Account
  • [ ] Improve website responsiveness and accessibility.
    • [ ] Improve Card Responsiveness, impelement auto-resizing cards like https://jiosaavn.com
    • [ ] Add accessibility features & aria labels.
  • [ ] Enhance the Player UI, add a player screen for small devices, and a Queue sheet for larger devices.
  • [x] Add support for Keyboard shortcuts for Player.
  • [ ] Add support to download songs.
  • [ ] Optimize initial page load size.

and many more...

Deploy Your Own

You can deploy your own hosted version of infinitunes. Just click the link below to deploy a ready-to-go version to Vercel.

Deploy with Vercel

JioSaavn API (Unofficial) by me, API Docs

Disclaimer

This project is independent of any affiliation with JioSaavn or its associated partners. It is created solely for educational purposes. Usage is at your own discretion, and the developer disclaims responsibility for any misuse or potential damage resulting from the use of this program. Please refrain from duplicating this project for commercial purposes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributors:

Note: It may take up to 24h for the contrib.rocks plugin to update because it's refreshed once a day.