https://github.com/ab007shetty/vimusic
ViMusic Android Version - https://github.com/vfsfitvnm/ViMusic
https://github.com/ab007shetty/vimusic
music-player music-website nodejs reactjs spotify-clone supabase-auth supabase-storage tailwindcss vimusic youtube-api-v3
Last synced: about 1 month ago
JSON representation
ViMusic Android Version - https://github.com/vfsfitvnm/ViMusic
- Host: GitHub
- URL: https://github.com/ab007shetty/vimusic
- Owner: ab007shetty
- License: gpl-3.0
- Created: 2024-07-30T19:01:04.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-12-10T11:46:24.000Z (7 months ago)
- Last Synced: 2025-12-10T16:33:46.040Z (7 months ago)
- Topics: music-player, music-website, nodejs, reactjs, spotify-clone, supabase-auth, supabase-storage, tailwindcss, vimusic, youtube-api-v3
- Language: JavaScript
- Homepage: https://vimusic.vercel.app/
- Size: 4.23 MB
- Stars: 6
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ViMusic – Web Version with Cloud Sync




A web version of the popular **ViMusic** Android app — now with **Google login + cloud sync** via Supabase.
Uses the **exact same SQLite schema** as the original app. So, Your playlists, favorites, play counts — everything stays intact.
## ✨ Features
- Full cloud sync with google login(Supabase Storage)
- Guest mode, supports old vimusic databse
- Favorites, playlists, reorder songs
- YouTube search (official API)
- Beautiful player with shuffle/repeat
- Import / Export `.db` file
## 🚀 Tech Stack
**Frontend**: React 18 + Vite + TailwindCSS + Lucide Icons
**Backend**: Node.js + Express + better-sqlite3
**Auth & Storage**: Supabase (Google OAuth + Storage)
**Database**: SQLite (ViMusic Android compatible)
## 📦 Installation
### Prerequisites
- Node.js (v14 or higher)
### 1. Clone Repository
```bash
git clone https://github.com/ab007shetty/ViMusic.git
cd vimusic
```
### 2. Backend Setup
```bash
# Navigate to backend directory
cd backend
# Install dependencies
npm install
```
Add the following to `.env`:
```env
PORT=5000
# Supabase Configuration
SUPABASE_URL=https://username.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
```
```bash
# Start backend server
npm run dev
```
Backend will run on `http://localhost:5000`
### 3. Frontend Setup
```bash
# Navigate to frontend directory (from root)
cd frontend
# Install dependencies
npm install
```
Add the following to frontend `.env`:
```env
VITE_API_URL=http://localhost:5000/api
VITE_YOUTUBE_API_KEY=get_it_from_gcp
# Supabase Configuration
VITE_SUPABASE_URL=https://username.supabase.co
VITE_SUPABASE_ANON_KEY=anon_key
```
```bash
# Start frontend development server
npm run dev
```
Frontend will run on `http://localhost:3000`
## 🗂️ Project Structure
```bash
|-- backend
| |-- package-lock.json
| |-- package.json
| |-- public
| | +-- database
| | |-- empty.db
| | +-- vimusic.db
| |-- scripts
| | |-- syncGuestDatabase.js
| | +-- testSync.js
| +-- server.js
|-- eslint.config.js
|-- frontend
| |-- index.html
| |-- package-lock.json
| |-- package.json
| |-- postcss.config.js
| |-- public
| | +-- images
| | |-- beats.jpeg
| | |-- default.jpg
| | |-- high.jpeg
| | |-- kannada.jpg
| | |-- low.jpeg
| | +-- peace.jpeg
| |-- src
| | |-- App.jsx
| | |-- components
| | | |-- AccountSettingsModal.jsx
| | | |-- Header.jsx
| | | |-- LoginModal.jsx
| | | |-- Player.jsx
| | | |-- PlaylistCard.jsx
| | | |-- Sidebar.jsx
| | | |-- SongCard.jsx
| | | +-- SortFilter.jsx
| | |-- contexts
| | | +-- PlayerContext.jsx
| | |-- index.css
| | |-- main.jsx
| | |-- supabase.js
| | +-- utils
| | |-- api.js
| | +-- databaseUtils.js
| |-- tailwind.config.js
| +-- vite.config.js
|-- LICENSE
+-- README.md
```
## 📄 License
This project is licensed under the MIT License.