aTunes is a modern web application that provides an iTunes-like interface for the Audius music streaming platform. It combines the familiar iTunes aesthetic with the decentralized music streaming capabilities of Audius.
- 🎵 iTunes-Style Interface: Classic brushed metal design with familiar controls and layout
- 🎧 Music Streaming: Stream music directly from Audius
- 🔍 Music Discovery: Browse trending, underground, and feeling lucky tracks
- 📚 Library Management: Access your favorites, uploads, and playlists
- 🎨 Dark Mode: Toggle between light and dark themes
- 🔄 Queue Management: Add tracks to queue, reorder, and manage playback
- 🎮 Playback Controls: Play/pause, next/previous, volume control, and scrubbing
- 🔀 Playback Modes: Loop and shuffle functionality
- 👤 User Authentication: Login with Audius account
- 📱 Responsive Design: Works across different screen sizes
- Frontend: React with TypeScript
- State Management: Zustand
- Styling: Tailwind CSS
- Audio Player: react-h5-audio-player
- API Integration: Audius SDK
- Clone the repository
- Install dependencies:
npm install
- Start the development server:
npm start
src/App.tsx
: Main application componentsrc/store.ts
: Global state managementsrc/sdk.ts
: Audius API integrationsrc/components/
: Reusable UI componentssrc/assets/
: Static assets
- Browse trending tracks
- Explore underground music
- Get random recommendations with "Feeling Lucky"
- View best new releases
- Access your favorite tracks
- View your uploads
- Manage playlists
- Track your recently played songs
- Queue management with drag-and-drop reordering
- Loop and shuffle modes
- Volume control
- Track scrubbing
- Play/pause and skip controls
- Dark/light theme toggle
- Responsive design
- Context menu for track actions
- Track information display
- Album artwork support
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.