Sonic-Stream is a modern, streaming-focused music application built as a student project. The goal of this project is to explore real-world application development including authentication, cloud storage, smooth media playback, and production deployment.
⚠️ This project is built for learning purposes. Bugs may exist and updates may be limited.
- Web App: https://sonic-stream.vercel.app
- 🔐 Google authentication using Supabase
- 🎵 Upload and stream your own music
- 📚 User-specific music library
- ☁️ Cloud storage via Supabase Storage
- 🎧 Clean, minimal music player UI
- 📱 Mobile-friendly design
- ⚡ Smooth scrolling and transitions
Frontend
- React
- TypeScript
- Vite
- Tailwind CSS
Backend / Services
- Supabase (Auth, Database, Storage)
- Google OAuth
Deployment
- Vercel
Mobile App
- Android (WebView-based)
Sonic-Stream/
├── src/
│ ├── components/
│ ├── pages/
│ ├── hooks/
│ ├── lib/
│ └── styles/
├── public/
├── android/
├── .env.example
├── README.md
└── package.json
- Node.js (v18+ recommended)
- npm or yarn
- Supabase account
- Google Cloud OAuth credentials
git clone https://github.com/<your-username>/sonic-stream.git
cd sonic-stream
npm installnpm run devCreate a .env file in the root directory:
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key- User signs in with Google
- Supabase manages authentication sessions
- Each user has a private music library
- On logout, user data is hidden from the UI
- Install JDK 17
- Install Android Studio
- Open the
android/folder in Android Studio - Build APK:
Build > Build Bundle(s) / APK(s) > Build APK(s)
This project is built by a student as a learning exercise.
- Bugs may exist
- Updates are not guaranteed
- Not intended for production use
- OAuth authentication and session handling
- Supabase storage and database integration
- Building a real-world media app
- Debugging OAuth issues in production
- Web-to-Android app conversion
Contributions are welcome for learning purposes:
- Fork the repository
- Create a feature branch
- Commit your changes
- Open a pull request
- Supabase
- Google OAuth
- Vercel
- Shields.io
Built with ❤️ as a student project.