{"id":20956832,"url":"https://github.com/ricopella/cratecleaner","last_synced_at":"2025-10-20T02:10:32.744Z","repository":{"id":206119027,"uuid":"696893863","full_name":"ricopella/cratecleaner","owner":"ricopella","description":"Make your library clutter-free! This Electron app cleans up your digital music and image collections. Unique for DJs: identifies which songs are in crates while detecting duplicates. Digs into metadata for smart cleanup.","archived":false,"fork":false,"pushed_at":"2023-11-08T08:29:30.000Z","size":11663,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T14:44:44.450Z","etag":null,"topics":["audio","dedupe-library","duplicate-detection","duplicatefilefinder","electron","image","prisma","react","serato","tailwind","tanstack-react-query","typescript","vite","zod"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ricopella.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-09-26T16:24:13.000Z","updated_at":"2024-10-31T17:38:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"89da54af-dbe6-4701-b11a-c4f7b0ecfcc0","html_url":"https://github.com/ricopella/cratecleaner","commit_stats":null,"previous_names":["ricopella/cratecleaner"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricopella%2Fcratecleaner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricopella%2Fcratecleaner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricopella%2Fcratecleaner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricopella%2Fcratecleaner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ricopella","download_url":"https://codeload.github.com/ricopella/cratecleaner/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248464277,"owners_count":21108238,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["audio","dedupe-library","duplicate-detection","duplicatefilefinder","electron","image","prisma","react","serato","tailwind","tanstack-react-query","typescript","vite","zod"],"created_at":"2024-11-19T01:28:05.377Z","updated_at":"2025-10-20T02:10:27.696Z","avatar_url":"https://github.com/ricopella.png","language":"TypeScript","funding_links":["https://www.buymeacoffee.com/narinsun"],"categories":[],"sub_categories":[],"readme":"# 🎵🧹 Crate Cleaner 🧹🎵\n\nThe ultimate tool for DJs and music enthusiasts! This Electron-based application is designed with a sleek UI (resembling Serato DJs interface) and is powered by a robust tech stack including React, TypeScript, Vite, Prisma, SQLite, and Tailwind CSS. Perfect for tidying up your audio collection, Crate Cleaner is a must-have in your digital DJ toolbox.\n\n## ✨ Features\n\nCrate Cleaner is not just another file manager; it's tailored for DJ's specific needs. Here's what it can do for you:\n\n- 🎶 Scan and identify duplicate audio and image files.\n- 🔍 Compare files by name or content to find matches.\n- 📦 Detect audio files that are not in use in Serato crates.\n- 💾 Persist and manage data with an integrated SQLite database.\n- 🔄 Organize crates by adding or removing files.\n\n## 🚀 Getting Started\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes.\n\n### Prerequisites\n\nMake sure you have [Node.js](https://nodejs.org/) (\u003e= v18 or greater) and [Yarn](https://yarnpkg.com/) installed on your system.\n\n### Install\n\nClone the repository and install its dependencies.\n\n```bash\ngit clone https://github.com/yourusername/crate-cleaner.git\ncd crate-cleaner\nyarn install\n```\n\nBefore kicking off the development server, let's set up the development database and run the migrations so it matches the schema:\n\n```bash\nyarn predev\n```\n\nNow, you're all set to start the dev server:\n\n```bash\nyarn dev\n```\n\n### Build\n\nTo build the application for production, use the appropriate command based on your operating system:\n\n```bash\n# For Windows\n$ yarn build:win\n\n# For macOS\n$ yarn build:mac\n\n# For Linux\n$ yarn build:linux\n```\n\n### 🛠 Tech Stack\n\nCrate Cleaner leverages a robust set of technologies to deliver a seamless experience. Check out more about each component:\n\n- [Electron](https://www.electronjs.org/)\n- [React](https://reactjs.org/)\n- [Node.js](https://nodejs.org/)\n- [Vite](https://vitejs.dev/)\n- [Prisma](https://www.prisma.io/)\n- [SQLite](https://www.sqlite.org/index.html)\n- [Tailwind CSS](https://tailwindcss.com/)\n- [DaisyUI](https://daisyui.com/)\n- [Tanstack/react-query](https://react-query.tanstack.com/)\n- [Tanstack/react-table](https://tanstack.com/table/v8)\n- [Zod](https://github.com/colinhacks/zod)\n- [TypeScript](https://www.typescriptlang.org/)\n\n### 🌟 Upcoming Features\n\nWe are always looking to make Crate Cleaner even better. Here's what's on the horizon:\n\nSupport for RekordBox, Traktor, Apple Music, and Lightroom.\nEnhanced file management options, such as moving duplicates rather than deleting.\nIntroduction of an audio player and fuzzy name match capabilities.\nAnd much more!\n\n### 🤝 Contributing\n\nContributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.\n\n### ☕ Buy Me a Coffee\n\nLove Crate Cleaner? Want to support the caffeine-fueled late nights that went into building this tool? Buy me a coffee and fuel further development!\n\n[![Buy Me A Coffee](https://www.buymeacoffee.com/assets/img/guidelines/download-assets-sm-1.svg)](https://www.buymeacoffee.com/narinsun)\n\n### 📬 Contact\n\nGot questions, feedback, or want to say hi? I'm just a click away over at [narinsun.com](https://narinsun.com).\n\n## 📜 License\n\nCrate Cleaner is made available under the [Attribution-NonCommercial 4.0 International](http://creativecommons.org/licenses/by-nc/4.0/?ref=chooser-v1) license. This means that you are free to share and adapt the material as long as you follow the license terms which include:\n\n- **Attribution** — You must give appropriate credit to [Narin Rico Sundarabhaya](https://narinsun.com), provide a link to the license, and indicate if changes were made.\n- **NonCommercial** — You may not use the material for commercial purposes.\n\nFor more information, please see the full license [here](http://creativecommons.org/licenses/by-nc/4.0/?ref=chooser-v1).\n\n![Creative Commons License](https://i.creativecommons.org/l/by-nc/4.0/88x31.png)\n\nThis license is applicable for free use of Crate Cleaner but does not allow for commercial use without proper attribution and without express permission from the creator.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fricopella%2Fcratecleaner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fricopella%2Fcratecleaner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fricopella%2Fcratecleaner/lists"}