File-Flow is a JavaScript-based automation tool for organizing files efficiently.
It declutters folders, categorizes files by type, and can run anywhere using Docker for deployment.
| Technology | Icon |
|---|---|
| JavaScript | ⚡ |
| Node.js | 🟢 |
| Docker | 🐳 |
| FS Module | 📂 |
| Path Module | 🛣️ |
| JSON | 📄 |
| CLI | 💻 |
- ✅ Automatic File Sorting – Categorize files by type
- ✅ Custom Folder Categories – Tailor categories via
config.json - ✅ Cross-Platform Support – Works on Windows, macOS, and Linux
- ✅ Lightweight & Fast – Minimal dependencies, high performance
- ✅ Dockerized Deployment – Run in any environment
- ✅ Modular Design – Easy to extend
File-Flow/
│
├── index.js # Main script
├── config.json # Folder categories & extensions
├── Dockerfile # Docker deployment setup
├── README.md # Project documentation
├── package.json # Node.js dependencies & scripts
├── package-lock.json # Dependency lock file
└── utils/ # Helper modules (optional)
- Provide Directory Path – Specify the folder to organize.
- Read Config – Reads
config.jsonfor folder types and extensions. - Sort Files – Moves files into respective folders.
- Docker Ready – Run in a container for consistent execution.
Workflow Diagram (Example)
+-------------------+
\| User Directory |
+-------------------+
|
v
+-------------------+
\| File-Flow Script |
\| (index.js) |
+-------------------+
|
v
+-------------------+
\| Reads config.json|
+-------------------+
|
v
+-------------------+
\| Categorizes |
\| & Moves Files |
+-------------------+
|
v
+-------------------+
\| Organized Folders |
+-------------------+
{
"Images": [".jpg", ".jpeg", ".png", ".gif"],
"Documents": [".pdf", ".docx", ".txt"],
"Audio": [".mp3", ".wav"],
"Video": [".mp4", ".mkv"]
}git clone https://github.com/venkat-0706/File-Flow.git
cd File-Flow
npm installRun locally:
node index.js- Enter the directory path with files to organize
- Files are automatically sorted as per
config.json
Build the Docker image:
docker build -t file-flow .Run the container:
docker run -v /path/to/your/files:/app/files file-flow- Replace
/path/to/your/fileswith your local folder path - Files inside the mounted volume will be organized automatically
We welcome contributions!
- Fork the repository
- Create a branch (
git checkout -b feature-name) - Make your changes and commit (
git commit -m "Add feature") - Push the branch (
git push origin feature-name) - Open a Pull Request
This project is licensed under MIT License – see LICENSE
If you like this project, star ⭐ the repo and share feedback!