A desktop application for Mac that automatically organizes files in a directory based on their file types.
- Automatic File Organization: Sorts files into appropriate folders based on file extension
- Clean Interface: Simple, intuitive user interface
- Customizable: Easily modify the file type categories
- Safe Operation: Original files are moved (not copied) to appropriate folders
- Results Summary: Complete report of all organized files and any errors
Files are automatically organized into the following folders:
- documents: PDF, TXT, DOC, DOCX, RTF, ODT, MD
- images: JPG, JPEG, PNG, GIF, BMP, TIFF, SVG, WEBP
- videos: MP4, MOV, AVI, MKV, WMV, FLV, WEBM
- audio: MP3, WAV, OGG, FLAC, AAC, M4A
- archives: ZIP, RAR, 7Z, TAR, GZ
- code: JS, PY, HTML, CSS, JAVA, CPP, C, PHP, RB
- other: All unrecognized file types
- macOS 10.13 or later
- Node.js 14 or later (for development only)
- Go to the Releases page
- Download the latest
.dmgfile - Open the DMG file and drag the application to your Applications folder
-
Clone the repository
git clone https://github.com/sakil470004/file-organizer-app-mac.git cd file-organizer -
Install dependencies
npm install
-
Build the application
npm run build
-
The built application will be in the
distfolder
- Launch File Organizer from your Applications folder
- Click "Select Directory" to choose the folder you want to organize
- Click "Organize Files" to start the organization process
- View the results showing which files were moved and any errors that occurred
# Clone the repository
git clone https://github.com/sakil470004/file-organizer-app-mac.git
cd file-organizer
# Install dependencies
npm install
# Start the application in development mode
npm startfile-organizer/
├── package.json # Project configuration
├── main.js # Electron main process
├── preload.js # Secure bridge between renderer and main
├── renderer.js # Frontend logic
├── index.html # User interface
└── styles.css # Application styling
To add or modify file type categories, edit the fileTypes object in main.js:
const fileTypes = {
documents: ['.pdf', '.txt', '.doc', '.docx', '.rtf', '.odt', '.md'],
// Add or modify categories and extensions here
};npm run buildThis will create distributable packages in the dist folder.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Electron.js for making cross-platform desktop apps possible with web technologies
- fs-extra for enhanced file system operations
