Your Music, Your Way - A powerful music streaming platform that aggregates multiple sources into one beautiful interface.
Built with โค๏ธ by the Disutils Team
DisMusic is a comprehensive music streaming application that allows users to search, queue, and play music from multiple platforms including Spotify, YouTube, and more. (Soon) With real-time queue management and a sleek web interface, DisMusic provides a seamless music experience for individuals and teams.
- ๐ Smart Search - Search across multiple platforms (Spotify, YouTube, etc.) (Soon)
- โฏ๏ธ Real-time Queue Management - Live queue updates with drag & drop reordering
- ๐ค Live Lyrics - Synchronized lyrics display for your favorite songs (after v1.0)
- ๐ Music Statistics - Track listening habits and discover insights (after v1.0)
- ๐ Playlist Management - Create, edit, and share playlists
- ๐ฑ Responsive Design - Works seamlessly on desktop and mobile (Soon for mobile )
- ๐ Multi-platform Support - Aggregate music from various sources
- ๐ Real-time Updates - Socket.IO powered live synchronization
- Next.js - Core application logic
- Node.js - High-performance web framework
- Socket.IO - Real-time bidirectional communication
- Discord OAuth - Authentication system
- HTML5 - Semantic markup
- CSS3 - Modern styling with animations
- JavaScript (ES6+) - Interactive functionality
- Socket.IO Client - Real-time communication
- Git - Version control
- RESTful APIs - External service integration
- Node.js (for Socket.IO, and Next.js)
- Git
The application uses the following Socket.IO events:
connect- Client connection establisheddisconnect- Client disconnectionplay- Play a specific tracknext- Skip to next trackqueueUpdate- Real-time queue synchronizationplayYouTube- YouTube playback eventqueueEnded- Queue completion notificationmoveTrack- Move a track to a different position in the queueremove- Remove a track from the queueplayNext- Move a track to play right after the current trackremoveFromQueue- Remove a specific track from the queue
GET /- Main application interfaceGET /api/search- Music search endpointPOST /api/queue- Queue managementGET /api/lyrics- Lyrics retrieval (WIP)GET /api/stats- User statistics (WIP)GET /discord/callback- Discord OAuth callback endpointPOST /api/user/playlist/create- Create a new in-house playlist for the userGET /api/user/playlists- Get user's playlistsPOST /api/user/playlists- Create/update user's playlistsDELETE /api/user/playlists- Delete a user's playlistGET /api/user/playlist/:id- Get a specific playlist by IDPOST /api/user/playlist/:id/add-track- Add a track to a specific playlistGET /api/user/info- Get user profile informationPOST /api/logout- Logout and invalidate sessionGET /api/user/favorites- Get user's favorite tracksPOST /api/user/favorites/toggle- Toggle a track as favoritePOST /api/spotify- Get Spotify track/playlist infoPOST /api/applemusic- Get Apple Music track/playlist infoPOST /api/youtube- Get YouTube playlist infoPOST /api/client-logout-log- Log client logout eventsGET /test- Backend health check endpoint
We welcome contributions from the community! Please read our Contributing Guidelines before submitting pull requests.
This project is licensed under the GNU General Public License v3.0 (GPL-3.0) - see the LICENSE file for details.
Disutils Team - A dedicated group of individuals committed to enhancing and simplifying the Discord experience for all users.
- ๐ Website: disutils.com
- ๐ง Email: [email protected]
- ๐ฌ Discord: Join our server
If you encounter any issues or have questions:
- Check the Issues page
- Search for existing solutions
- Create a new issue with detailed information
- Join our Discord community for real-time support
- โ Basic music streaming
- โ Queue management
- โ Inhouse playlist system! Implemented but buggy
- โ Discord OAuth
- โ Real-time synchronization
- โ Web interface
- โ Mobile support (responsive design)
- โ Favorite tracks system
- โ Viewing playlist page
- โ Search page with search results
- ๐ Advanced playlist features
- ๐ Custom themes
- ๐ Alerts (Notis)
- ๐ฎ Offline mode
- ๐ฎ Social sharing
- ๐ฎ Mobile app (React Native)
- ๐ฎ AI-powered recommendations
- ๐ฎ Voice commands
- ๐ฎ Multi-room audio
- ๐ฎ Plugin system
- ๐ฎ Desktop application
Made with ๐ต by the Disutils Team
โญ Star this repo โข ๐ Report Bug โข ๐ก Request Feature