{"id":50495893,"url":"https://github.com/ab007shetty/vimusic","last_synced_at":"2026-06-02T07:02:31.348Z","repository":{"id":250936305,"uuid":"835906414","full_name":"ab007shetty/ViMusic","owner":"ab007shetty","description":"ViMusic Android Version - https://github.com/vfsfitvnm/ViMusic   ","archived":false,"fork":false,"pushed_at":"2025-12-10T11:46:24.000Z","size":4435,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-10T16:33:46.040Z","etag":null,"topics":["music-player","music-website","nodejs","reactjs","spotify-clone","supabase-auth","supabase-storage","tailwindcss","vimusic","youtube-api-v3"],"latest_commit_sha":null,"homepage":"https://vimusic.vercel.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ab007shetty.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-30T19:01:04.000Z","updated_at":"2025-12-10T11:46:28.000Z","dependencies_parsed_at":"2024-10-21T16:36:09.660Z","dependency_job_id":null,"html_url":"https://github.com/ab007shetty/ViMusic","commit_stats":null,"previous_names":["ab007shetty/vimusic"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ab007shetty/ViMusic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ab007shetty%2FViMusic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ab007shetty%2FViMusic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ab007shetty%2FViMusic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ab007shetty%2FViMusic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ab007shetty","download_url":"https://codeload.github.com/ab007shetty/ViMusic/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ab007shetty%2FViMusic/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33810343,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["music-player","music-website","nodejs","reactjs","spotify-clone","supabase-auth","supabase-storage","tailwindcss","vimusic","youtube-api-v3"],"created_at":"2026-06-02T07:02:30.247Z","updated_at":"2026-06-02T07:02:31.334Z","avatar_url":"https://github.com/ab007shetty.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ViMusic – Web Version with Cloud Sync\n\n![React](https://img.shields.io/badge/React-18.3-blue)\n![Vite](https://img.shields.io/badge/Vite-5.4-purple)\n![TailwindCSS](https://img.shields.io/badge/TailwindCSS-3.4-teal)\n![Supabase](https://img.shields.io/badge/Supabase-Auth%20%26%20Storage-brightgreen)\n\nA web version of the popular **ViMusic** Android app — now with **Google login + cloud sync** via Supabase.\n\nUses the **exact same SQLite schema** as the original app. So, Your playlists, favorites, play counts — everything stays intact.\n\n## ✨ Features\n\n- Full cloud sync with google login(Supabase Storage)\n- Guest mode, supports old vimusic databse\n- Favorites, playlists, reorder songs\n- YouTube search (official API)\n- Beautiful player with shuffle/repeat\n- Import / Export `.db` file\n\n## 🚀 Tech Stack\n\n**Frontend**: React 18 + Vite + TailwindCSS + Lucide Icons  \n**Backend**: Node.js + Express + better-sqlite3  \n**Auth \u0026 Storage**: Supabase (Google OAuth + Storage)  \n**Database**: SQLite (ViMusic Android compatible)\n\n## 📦 Installation\n\n### Prerequisites\n\n- Node.js (v14 or higher)\n\n### 1. Clone Repository\n\n```bash\ngit clone https://github.com/ab007shetty/ViMusic.git\ncd vimusic\n```\n\n### 2. Backend Setup\n\n```bash\n# Navigate to backend directory\ncd backend\n\n# Install dependencies\nnpm install\n```\n\nAdd the following to `.env`:\n\n```env\nPORT=5000\n\n# Supabase Configuration\nSUPABASE_URL=https://username.supabase.co\nSUPABASE_SERVICE_ROLE_KEY=your_service_role_key\n```\n\n```bash\n# Start backend server\nnpm run dev\n```\n\nBackend will run on `http://localhost:5000`\n\n### 3. Frontend Setup\n\n```bash\n# Navigate to frontend directory (from root)\ncd frontend\n\n# Install dependencies\nnpm install\n```\n\nAdd the following to frontend `.env`:\n\n```env\nVITE_API_URL=http://localhost:5000/api\n\nVITE_YOUTUBE_API_KEY=get_it_from_gcp\n\n# Supabase Configuration\nVITE_SUPABASE_URL=https://username.supabase.co\nVITE_SUPABASE_ANON_KEY=anon_key\n```\n\n```bash\n# Start frontend development server\nnpm run dev\n```\n\nFrontend will run on `http://localhost:3000`\n\n## 🗂️ Project Structure\n\n```bash\n|-- backend\n|   |-- package-lock.json\n|   |-- package.json\n|   |-- public\n|   |   +-- database\n|   |       |-- empty.db\n|   |       +-- vimusic.db\n|   |-- scripts\n|   |   |-- syncGuestDatabase.js\n|   |   +-- testSync.js\n|   +-- server.js\n\n|-- eslint.config.js\n\n|-- frontend\n|   |-- index.html\n|   |-- package-lock.json\n|   |-- package.json\n|   |-- postcss.config.js\n|   |-- public\n|   |   +-- images\n|   |       |-- beats.jpeg\n|   |       |-- default.jpg\n|   |       |-- high.jpeg\n|   |       |-- kannada.jpg\n|   |       |-- low.jpeg\n|   |       +-- peace.jpeg\n|   |-- src\n|   |   |-- App.jsx\n|   |   |-- components\n|   |   |   |-- AccountSettingsModal.jsx\n|   |   |   |-- Header.jsx\n|   |   |   |-- LoginModal.jsx\n|   |   |   |-- Player.jsx\n|   |   |   |-- PlaylistCard.jsx\n|   |   |   |-- Sidebar.jsx\n|   |   |   |-- SongCard.jsx\n|   |   |   +-- SortFilter.jsx\n|   |   |-- contexts\n|   |   |   +-- PlayerContext.jsx\n|   |   |-- index.css\n|   |   |-- main.jsx\n|   |   |-- supabase.js\n|   |   +-- utils\n|   |       |-- api.js\n|   |       +-- databaseUtils.js\n|   |-- tailwind.config.js\n|   +-- vite.config.js\n\n|-- LICENSE\n+-- README.md\n\n```\n\n## 📄 License\n\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fab007shetty%2Fvimusic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fab007shetty%2Fvimusic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fab007shetty%2Fvimusic/lists"}