{"id":49866345,"url":"https://github.com/drazy/deemix-remastered","last_synced_at":"2026-06-05T01:00:45.206Z","repository":{"id":342840198,"uuid":"1175155242","full_name":"DRAZY/deemix-remastered","owner":"DRAZY","description":"A modern, cross-platform desktop music downloader built from scratch with Electron, Vue 3, and TypeScript. A spiritual successor to Deemix - No shared code. New stack.  Refreshed UX.","archived":false,"fork":false,"pushed_at":"2026-05-30T18:52:54.000Z","size":22784,"stargazers_count":9,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-30T20:21:10.699Z","etag":null,"topics":["deemix","deezer","desktop-app","electron","flac","mp3","music","music-downloader","spotify","typescript","vue","vue3"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/DRAZY.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2026-03-07T10:01:12.000Z","updated_at":"2026-05-30T18:47:21.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/DRAZY/deemix-remastered","commit_stats":null,"previous_names":["drazy/deemix-app","drazy/deemix-remastered"],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/DRAZY/deemix-remastered","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DRAZY%2Fdeemix-remastered","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DRAZY%2Fdeemix-remastered/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DRAZY%2Fdeemix-remastered/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DRAZY%2Fdeemix-remastered/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DRAZY","download_url":"https://codeload.github.com/DRAZY/deemix-remastered/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DRAZY%2Fdeemix-remastered/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33926275,"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-04T02:00:06.755Z","response_time":64,"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":["deemix","deezer","desktop-app","electron","flac","mp3","music","music-downloader","spotify","typescript","vue","vue3"],"created_at":"2026-05-15T03:07:39.196Z","updated_at":"2026-06-05T01:00:45.195Z","avatar_url":"https://github.com/DRAZY.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"public/icon.png\" alt=\"Deemix Remastered\" width=\"128\" height=\"128\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eDeemix Remastered\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  A modern, cross-platform desktop music downloader built entirely from scratch with Electron, Vue 3, and TypeScript.\n  \u003cbr /\u003e\n  No code from the original Deemix project - just the same spirit, reimagined with a modern stack.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Version\" src=\"https://img.shields.io/badge/version-1.10.13-blue\" /\u003e\n  \u003cimg alt=\"Electron\" src=\"https://img.shields.io/badge/Electron-39-47848F?logo=electron\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"Vue\" src=\"https://img.shields.io/badge/Vue-3-4FC08D?logo=vue.js\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"TypeScript\" src=\"https://img.shields.io/badge/TypeScript-5-3178C6?logo=typescript\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"License\" src=\"https://img.shields.io/badge/license-GPL--3.0-green\" /\u003e\n  \u003cimg alt=\"Platforms\" src=\"https://img.shields.io/badge/platforms-macOS%20%7C%20Windows%20%7C%20Linux-lightgrey\" /\u003e\n\u003c/p\u003e\n\n---\n\n## Features\n\n### Music Discovery \u0026 Browsing\n\n- **Home Dashboard** -- New releases, top tracks, top albums, and popular playlists at a glance\n- **New Releases Page** -- Dedicated page showing all of Deezer's latest album releases (up to 100), accessible via the **See all** link in the Home page's New Releases section\n- **Search** -- Find tracks, albums, artists, and playlists with tabbed result filtering and batch selection\n- **Charts** -- Browse global and country-specific charts for tracks, albums, artists, and playlists\n- **Artist Pages** -- Full discographies with filters for albums, EPs, singles, compilations, and featured-in releases, with sorting by name or date\n- **Sorting** -- Sort favorites and artist discographies by name (A-Z, Z-A), date, or default order\n- **Album \u0026 Playlist Views** -- Track listings with metadata, selective track downloads, and audio previews\n- **Link Analyzer** -- Paste any Deezer or Spotify URL to view content details and download directly (supports share links like `link.deezer.com`)\n- **Favorites Import** -- Import your liked tracks, albums, artists, and playlists from your Deezer account\n\n### Downloading\n\n- **Audio Formats** -- MP3 128 kbps, MP3 320 kbps, and FLAC (lossless)\n- **Batch Downloads** -- Download entire albums, playlists, or select individual tracks\n- **Bulk Link Paste** -- Paste multiple Deezer links into the Search bar or anywhere in the app to queue them all at once\n- **Batch Favorites** -- Download all your favorite tracks, albums, or playlists with one click\n- **Three-Tier Track Resolution** -- Automatically finds alternative versions (FALLBACK, ISRC) when a track is unavailable — matches old Deemix behavior\n- **Download Queue** -- Pause, resume, reorder (drag-and-drop), cancel, and retry downloads (retries stay grouped under the parent album/playlist)\n- **Download Next** -- Move pending items to the front of the download queue so they download first\n- **Duplicate Album Detection** -- Warns when an album already exists on disk before downloading\n- **Download Statistics** -- View total downloads, tracks, top artists, format breakdown, and weekly activity\n- **Delete Files** -- Remove downloaded files directly from the app; deletes the entire playlist or album folder\n- **Download History** -- Persistent log of all completed and failed downloads (last 500 entries)\n- **Smart Fallbacks** -- Automatic bitrate and format fallback when preferred quality is unavailable\n- **Concurrent Downloads** -- Configurable from 2 to 50 simultaneous downloads (default: 5)\n- **Conflict Handling** -- Skip, overwrite, or rename when files already exist\n- **Playlist Diff** -- See how many tracks are new vs already downloaded before re-downloading a playlist\n- **Timeout Protection** -- All HTTP calls have connection and stall timeouts to prevent downloads from hanging\n\n### Metadata \u0026 Organization\n\n- **ID3 Tagging** -- 21 configurable tag fields including title, artist, album, lyrics, ISRC, BPM, and more\n- **Featured Artists** -- All credited artists (main + featured) included in tags with configurable separator\n- **M3U Playlists** -- Automatic M3U8 playlist file generation with paths matching actual downloaded files and customizable filename template (`%playlist%`, `%date%`, `%year%`)\n- **Album Artwork** -- Embedded and local cover art with configurable size and format (JPEG/PNG)\n- **Playlist Artwork** -- Playlist cover image saved as `cover.jpg` in the playlist folder (Deezer, Spotify, and Playlist Sync)\n- **Synced Lyrics** -- Optional LRC file generation for synced lyrics\n- **Folder Structure** -- Customizable templates for artist, album, playlist, and CD folder organization with variables like `%artist%`, `%album%`, `%year%`, `%explicit%`, `%owner%`, `%date%`, `%barcode%` / `%upc%`\n- **Track Naming** -- Template-based naming with variables like `%artist%`, `%title%`, `%tracknumber%`, `%explicit%`\n- **Explicit Tag** -- `%explicit%` variable in folder templates separates clean and explicit album versions into different folders\n- **Barcode Disambiguation** -- `%barcode%` (alias `%upc%`) variable in folder templates keeps same-titled singles and albums in distinct folders (e.g. `abcd 0123456789012` vs `abcd 9876543210987`)\n\n### Retag Library\n\n- **Metadata-Only Retag** -- Point the Retag Library tool at a folder and it rewrites tags on your *existing* `.mp3`/`.flac` files — no re-download, and the audio stream is left byte-identical. Ideal for backfilling fields like UPC/Label onto files downloaded before they were supported (#77)\n- **ISRC Matching** -- Each file is matched to Deezer by the ISRC already stored in its tags; files without an ISRC are listed and skipped (never guessed)\n- **Public Catalog, No Account** -- Looks up metadata via Deezer's public API, so retagging needs no ARL/login and won't burn your download quota\n- **Merge, Never Replace** -- Only the tags you enable are rewritten; all other tags and embedded artwork are preserved. UPC and Label are enabled by default\n- **Dry-Run Preview** -- Preview exactly which tags would change, per file, before writing anything\n- **Refresh Tags from an Album/Playlist** -- A \"Refresh tags\" button on every Album and Playlist view rewrites tags on files you already have, using the **exact** Deezer release you're viewing — so the barcode/label/genre always come from the right edition (no ISRC guesswork), with no re-download and audio untouched. It fills in every tag Deezer offers for that release; merge semantics preserve anything Deezer doesn't have\n- **Clear Retag Results** -- The Retag Library reports per file whether each tag was written, was \"Already up to date\", or is \"Not available on Deezer\" (some albums genuinely have no genre upstream) — no silent skips\n- **Retaggable Fields** -- UPC, Label, Genre, Track Length, Explicit, ISRC, Year, Date, BPM, track/disc numbers, album/artist/title — all from Deezer's public catalog\n\n### Spotify Integration\n\n- **Playlist Conversion** -- Convert Spotify playlists to Deezer for downloading\n- **Track Matching** -- ISRC-based matching with fallback search and confidence scoring\n- **Link Support** -- Paste Spotify URLs directly into the Link Analyzer\n- **Batch Downloads** -- Converted playlists download as a single item with unified progress tracking\n- **Public/Private Badge** -- Spotify playlists show visibility status in the Link Analyzer\n\n### Playlist Sync\n\n- **Automatic Sync** -- Monitor Spotify and Deezer playlists for new tracks\n- **Scheduling** -- Sync on app launch, hourly, every 6/12/24 hours, or manually\n- **Diff-Based Downloads** -- Only downloads tracks added since last sync; failed tracks are automatically retried on next sync\n- **Force Full Sync** -- Right-click the sync button to reset and re-download all tracks in a playlist\n- **Settings-Aware** -- Uses your configured quality, folder structure, and metadata settings\n- **Real-Time Progress** -- Live progress bars and status updates during sync\n- **One-Click Pin from Favorites** -- Each favorited playlist gets a **Sync** button + a 5-state status badge (Syncing X/Y, Synced, Partial, Sync error, Sync pending). A **Sync all favorite playlists** button at the top bulk-pins everything not already in sync.\n- **Bulk Sync at Any Scale** -- A single bulk endpoint imports all favourite playlists in one request, so libraries with hundreds of favourites no longer get truncated by per-IP rate limits (v1.7.5+)\n- **Editable Sync Entries** -- Every synced-playlist card has a pencil-icon button to rename the entry, change the sync schedule, or change the download folder (v1.7.4+)\n\n### Artist Sync\n\n- **Auto-Download New Releases** -- Pin an artist; the engine watches `/artist/{id}/albums` on a schedule and auto-downloads anything new\n- **Three First-Sync Modes** -- `subscribe-forward` (default; safest — captures current discography as already-known without downloading anything, only future releases trigger downloads), `download-backlog` (download the entire filtered discography on first sync), `date-threshold` (download everything from a chosen release date forward)\n- **Per-Artist Filters** -- Choose which release types to pull. Defaults: Albums ✓, EPs ✓, Singles ✗, Compilations ✗, Features ✗. Editable per artist from the Sync page (v1.7.5+) — toggle release types and set an optional \"only download releases after\" date threshold without touching the engine.\n- **One-Click Pin from Favorites** -- Each favorited artist gets a **Pin to Sync** button + the same 5-state status badge as playlist sync. A **Sync all favorite artists** button bulk-pins everything.\n- **Synced Artists Section on the Sync Page** -- Live per-artist progress (shows the current album being downloaded), failed-album expansion, force re-check (right-click), enable/disable, and remove.\n- **Concurrent Sync Cap** -- Max 3 artists syncing in parallel; per-track downloads respect your existing `maxConcurrentDownloads` setting\n\n### User Experience\n\n- **8 Color Themes** -- Violet, Spotify, Rose, Ocean, Sunset, Mint, Dracula, and Nord\n- **Dark / Light / System Mode** -- Follows your OS preference or set manually\n- **Slim Sidebar** -- Compact navigation mode for more screen space\n- **Keyboard Shortcuts** -- Quick access to search, downloads, settings, and more\n- **Search History** -- Recent searches saved for quick access\n- **Context Menus** -- Right-click support for copy/paste operations\n- **Offline Detection** -- Banner notification when network connectivity is lost\n- **Toast Notifications** -- Non-intrusive feedback for all user actions\n- **Auto-Update Checker** -- Notifies you on startup when a new version is available\n- **Download Progress in Title Bar** -- See overall download progress in the window title\n- **Settings Profiles** -- Save, apply, export, and import named settings configurations (Audiophile / Quick / Balanced built-ins plus your own)\n- **Backup and Restore Settings** -- A single backup file captures your entire local app data with per-segment selection: App preferences, Download profiles, Synced playlists, Synced artists, Favourites, and (optionally) Login info. v1.8.0 adds an expandable **per-profile picker** so you can back up or restore just the profiles you choose (e.g. only \"Maximus\", leaving \"Drew\" untouched). Restoring a profile whose name already exists overwrites in place; built-in name collisions fall back to a \"(Restored)\" suffix.\n\n### Supported Languages\n\nArabic, Chinese (Simplified \u0026 Traditional), Croatian, English, Filipino, French, German, Greek, Indonesian, Italian, Korean, Polish, Portuguese (Brazil \u0026 Portugal), Russian, Serbian, Spanish, Thai, Turkish, and Vietnamese\n\n### Security\n\n- **Encrypted Credentials** -- ARL tokens and Spotify secrets stored using Electron safeStorage\n- **Path Traversal Protection** -- Download paths validated against directory traversal attacks\n- **Session Management** -- Automatic expiration detection and re-authentication\n- **SSRF Protection** -- Share link resolution validates redirect destinations against domain whitelist\n- **URL Validation** -- External URLs validated before opening; blocks unsafe protocols\n- **Error Sanitization** -- Internal server errors are sanitized before returning to the client\n- **Sandboxed Windows** -- All browser windows use OS-level process isolation\n\n---\n\n## Screenshots\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/home-new-releases.png\" alt=\"Home - New Releases\" width=\"800\" /\u003e\n  \u003cbr /\u003e\n  \u003cem\u003eHome Dashboard — New releases, search, and an active downloads panel\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/downloads-statistics.png\" alt=\"Downloads \u0026 Statistics Dashboard\" width=\"800\" /\u003e\n  \u003cbr /\u003e\n  \u003cem\u003eDownloads — Statistics dashboard with top artists, formats, and weekly activity\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/charts.png\" alt=\"Charts\" width=\"800\" /\u003e\n  \u003cbr /\u003e\n  \u003cem\u003eCharts — Browse global and country-specific top tracks, albums, artists, and playlists\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/settings-profiles.png\" alt=\"Settings - Profiles \u0026 Appearance\" width=\"800\" /\u003e\n  \u003cbr /\u003e\n  \u003cem\u003eSettings — Quick presets, custom profiles, export/import, and 8 color themes\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/favorites-artists.png\" alt=\"Favorites - Favorite Artists with sync state\" width=\"800\" /\u003e\n  \u003cbr /\u003e\n  \u003cem\u003eFavorites — Pull your Deezer favorites locally, pin individual artists to sync on a schedule, and run a one-click \"Sync all favorite artists\" pass. Per-artist \"Pinned / Synced\" pills show what's tracked; the queue panel on the right reports live per-album progress.\u003c/em\u003e\n\u003c/p\u003e\n\n---\n\n## Downloads\n\nPre-built binaries are available on the [Releases](../../releases) page.\n\n| Platform | Architecture | Formats |\n|----------|-------------|---------|\n| **macOS** | Universal (Intel + Apple Silicon), ARM64 (Apple Silicon) | `.dmg` |\n| **Windows** | x64, ARM64 | `.exe` (Installer), `.exe` (Portable) |\n| **Linux** | x64, ARM64 | `.AppImage`, `.deb` |\n\n### Release Files\n\n#### macOS\n- `Deemix Remastered-{version}-universal.dmg` -- Intel + Apple Silicon\n- `Deemix Remastered-{version}-arm64.dmg` -- Apple Silicon only\n\n#### Windows\n- `Deemix Remastered-Setup-{version}-x64.exe` -- Installer (x64)\n- `Deemix Remastered-Setup-{version}-arm64.exe` -- Installer (ARM64)\n- `Deemix Remastered-Portable-{version}-x64.exe` -- Portable (x64)\n- `Deemix Remastered-Portable-{version}-arm64.exe` -- Portable (ARM64)\n\n#### Linux\n- `Deemix Remastered-{version}.AppImage` -- AppImage (x64)\n- `Deemix Remastered-{version}-arm64.AppImage` -- AppImage (ARM64)\n- `deemix-app_{version}_amd64.deb` -- Debian/Ubuntu package (x64)\n- `deemix-app_{version}_arm64.deb` -- Debian/Ubuntu package (ARM64)\n\n---\n\n## Getting Started\n\n### 1. Install the App\n\nDownload the appropriate build for your platform from the [Releases](../../releases) page and install it.\n\n### 2. Log In with Your Deezer ARL Token\n\nA Deezer ARL (Authentication) token is required to download music:\n\n1. Log in to [deezer.com](https://www.deezer.com) in your browser\n2. Open Developer Tools (`F12`) and go to the **Application** tab\n3. Under **Cookies** \u003e `https://www.deezer.com`, find the `arl` cookie\n4. Copy its value and paste it into the app's login dialog\n\n\u003e **Note:** A Deezer Premium or HiFi subscription is required for high-quality downloads (FLAC and 320 kbps).\n\n### 3. Browse, Search, or Paste a Link\n\nUse the search bar, browse charts and new releases, or paste a Deezer/Spotify URL into the Link Analyzer to find music.\n\n### 4. Download\n\nClick the download button on any track, album, or playlist and select your preferred quality.\n\n### Keyboard Shortcuts\n\n| Shortcut | Action |\n|----------|--------|\n| `Cmd/Ctrl + K` or `Cmd/Ctrl + F` | Focus search |\n| `Cmd/Ctrl + D` | Go to downloads |\n| `Cmd/Ctrl + ,` | Open settings |\n| `Cmd/Ctrl + H` | Go to home |\n| `Cmd/Ctrl + /` or `Cmd/Ctrl + Shift + ?` | Show shortcuts help |\n| `Escape` | Close modals |\n\n### Spotify Playlist Conversion\n\n1. Go to **Settings** and enter your Spotify API credentials (Client ID and Secret)\n2. Navigate to **Link Analyzer**\n3. Paste a Spotify playlist or album URL\n4. The app matches tracks to Deezer using ISRC codes with search fallback\n5. Download the matched tracks\n\n---\n\n## Settings Overview\n\nThe Settings page offers deep customization organized into these categories:\n\n| Category | Key Options |\n|----------|-------------|\n| **Appearance** | Theme (8 color themes), dark/light/system mode, slim sidebar, slim downloads |\n| **Downloads** | Quality (128/320/FLAC), max concurrent, overwrite mode, bitrate fallback, M3U filename template |\n| **Folder Structure** | Create artist/album/playlist/CD folders, templates with `%explicit%`, `%owner%`, `%date%` support |\n| **Track Naming** | Templates for single tracks, album tracks, and playlist tracks |\n| **Metadata Tags** | Toggle 21 individual ID3 tag fields (title, artist, album, lyrics, ISRC, BPM, etc.) |\n| **Album Covers** | Save covers, embedded/local artwork size, JPEG quality, PNG option |\n| **Text Processing** | Artist separator, date format, featured artists handling, title/artist casing |\n| **Language** | Choose from 22 supported languages |\n| **Account** | Deezer ARL token management |\n| **Spotify** | Client ID, Client Secret, fallback search toggle |\n| **Playlist Sync** | Add Spotify/Deezer playlists, set sync schedule, enable/disable |\n| **Profiles** | Save, apply, export, import named settings configurations |\n| **Backup and Restore Settings** | Full app-data backup file with per-segment selection (app preferences · download profiles · synced playlists · synced artists · favourites · login info) plus per-profile picker on both export and restore |\n\n---\n\n## Building from Source\n\n### Prerequisites\n\n- [Node.js](https://nodejs.org/) 20 or later\n- [npm](https://www.npmjs.com/) 9 or later\n- [Git](https://git-scm.com/)\n\n**Building Linux `.deb` packages on macOS** additionally requires:\n\n```bash\nbrew install dpkg fakeroot binutils\n```\n\n(`fpm` shells out to `ar`; macOS ships BSD ar which produces malformed Debian archives. The repo includes a `scripts/build-tools/ar` shim that redirects to GNU ar from `binutils` when running on macOS — the npm scripts wire it in automatically.)\n\n### Setup\n\n```bash\ngit clone https://github.com/DRAZY/deemix-remastered.git\ncd deemix-remastered\nnpm install\n```\n\n### Development\n\n```bash\n# Start the Vite dev server + Electron\nnpm run electron:dev\n\n# Or start just the Vite dev server (web only)\nnpm run dev\n```\n\n### Build\n\n```bash\n# Build for the current platform\nnpm run build\n\n# Platform-specific builds\nnpm run build:mac          # macOS Universal (Intel + Apple Silicon)\nnpm run build:mac-arm64    # macOS Apple Silicon only\nnpm run build:win          # Windows x64\nnpm run build:win-arm64    # Windows ARM64\nnpm run build:linux        # Linux x64\nnpm run build:linux-arm64  # Linux ARM64\n\n# Build all platforms\nnpm run build:all\n```\n\nBuild output is written to the `release/` directory.\n\n---\n\n## Documentation\n\n- **[Architecture](docs/ARCHITECTURE.md)** — How the renderer, preload bridge, and main process fit together, with a diagram and walkthroughs of common data flows\n- **[Troubleshooting](docs/TROUBLESHOOTING.md)** — Solutions for login issues, download failures, M3U glitches, Spotify integration, and more\n\n---\n\n## Project Structure\n\n```\ndeemix-remastered/\n├── src/                        # Vue frontend\n│   ├── components/             # Reusable UI components (21)\n│   ├── composables/            # Composition functions\n│   │   ├── useContextMenu.ts       # Right-click menu handling\n│   │   ├── useKeyboardShortcuts.ts # Global keyboard shortcuts\n│   │   ├── useNetworkStatus.ts     # Online/offline detection\n│   │   └── useSearchHistory.ts     # Search history management\n│   ├── i18n/locales/           # Translation files (22 languages)\n│   ├── services/               # API services\n│   │   └── deezerAPI.ts            # Deezer API wrapper with caching\n│   ├── stores/                 # Pinia state stores\n│   │   ├── authStore.ts            # Authentication \u0026 session\n│   │   ├── backupStore.ts          # Backup \u0026 Restore (#72)\n│   │   ├── downloadStore.ts        # Download queue management \u0026 history\n│   │   ├── favoritesStore.ts       # Favorites tracking \u0026 Deezer import\n│   │   ├── playerStore.ts          # Audio preview playback\n│   │   ├── profileStore.ts         # Settings profiles\n│   │   ├── settingsStore.ts        # User preferences \u0026 export/import\n│   │   ├── syncStore.ts            # Playlist sync state (bulk + restore)\n│   │   ├── artistSyncStore.ts      # Artist sync state (bulk + restore)\n│   │   └── toastStore.ts           # Notification system\n│   ├── types/                  # TypeScript type definitions\n│   └── views/                  # Page components (14 pages)\n├── electron/                   # Electron main process\n│   ├── main.ts                 # Window management \u0026 IPC\n│   ├── preload.ts              # Context bridge\n│   ├── server.ts               # Backend server\n│   └── services/               # Backend services\n│       ├── deezerAuth.ts           # Deezer authentication\n│       ├── downloader.ts           # Download engine (writes tags on download)\n│       ├── retagger.ts             # Retag engine — metadata-only rewrite of existing files (#77)\n│       ├── playlistSync.ts         # Playlist sync engine\n│       ├── artistSync.ts           # Artist sync engine (#61)\n│       ├── spotifyAPI.ts           # Spotify API client\n│       └── spotifyConverter.ts     # Spotify-to-Deezer conversion\n├── public/                     # Static assets \u0026 icons\n├── dist/                       # Built frontend (generated)\n├── dist-electron/              # Built Electron code (generated)\n└── release/                    # Packaged builds (generated)\n```\n\n---\n\n## Versioning\n\nThis project follows [Semantic Versioning](https://semver.org/):\n\n- **PATCH** (e.g., 1.0.1) -- Bug fixes, security patches, dependency updates, translation fixes\n- **MINOR** (e.g., 1.1.0) -- New features, new themes, new language support\n- **MAJOR** (e.g., 2.0.0) -- Breaking changes, major redesigns, architecture overhauls\n\nSee the [Releases](../../releases) page for the full changelog.\n\n---\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/my-feature`)\n3. Commit your changes (`git commit -m 'Add my feature'`)\n4. Push to the branch (`git push origin feature/my-feature`)\n5. Open a Pull Request\n\nPlease open an [issue](../../issues) first for major changes to discuss the approach.\n\n---\n\n## License\n\nThis project is licensed under the [GPL-3.0 License](LICENSE).\n\n---\n\n## Disclaimer\n\nThis application is not affiliated with or endorsed by Deezer or Spotify. Use responsibly and in accordance with your local laws regarding music downloading. Please respect copyright laws and the terms of service of music streaming platforms.\n\n---\n\n\u003cp align=\"center\"\u003e\n  Made with care by \u003cstrong\u003eTeam MAXIMUS\u003c/strong\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrazy%2Fdeemix-remastered","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrazy%2Fdeemix-remastered","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrazy%2Fdeemix-remastered/lists"}