Skip to content

Yamiro22/Smart_File_Organizer

Repository files navigation

🧠 Smart File Organizer

AI Powered Build

A smart desktop automation tool that automatically sorts, classifies, and organizes files using AI.

Built with VS Code , Tabnine , and PySimpleGUI , it features real-time monitoring , AI categorization , and a modern GUI .


🚀 Getting Started

🧩 Prerequisites


⚙️ Installation

git clone https://github.com/Yamiro22/Smart_File_Organizer.git
cd Smart_File_Organizer
pip install -r requirements.txt

If you plan to use AI features :

pip install openai langchain transformers torch

If you plan to use real-time folder monitoring :

pip install watchdog

▶️ Running the App

1️⃣ Graphical Interface

python main_gui.py

Choose your source/output folders, enable AI mode, and click “Sort Files” .


2️⃣ Real-Time Mode

Run this to auto-organize files as soon as they appear:

python main_watch.py

✅ The tool will run in the background and instantly sort new files.


3️⃣ Run Tests

python -m unittest discover

🧠 Key Features

Feature Description Libraries
🔹Automatic Sorting Organizes files by type, date, or name os,shutil
🔹GUI Interface User-friendly desktop app PySimpleGUI
🔹Real-Time Monitoring Detects new files instantly watchdog
🔹AI Categorization Analyzes content & filenames OpenAI,Transformers
🔹Logging System Tracks all operations logging
🔹**.exe Packaging** Runs standalone on Windows PyInstaller

⚙️ Configuration (config.json)

{
  "source_dir": "data",
  "output_dir": "output",
  "log_dir": "logs",
  "sort_by_date": true,
  "file_types": {
    "Images": [".png", ".jpg", ".jpeg", ".gif"],
    "Documents": [".pdf", ".docx", ".txt", ".xlsx"],
    "Videos": [".mp4", ".mov"],
    "Audio": [".mp3", ".wav"]
  },
  "name_patterns": {
    "invoice": "Invoices",
    "report": "Reports",
    "contract": "Contracts"
  }
}

🧰 Built With


🧪 Testing

python -m unittest test_main_gui.py

All test cases validate directory creation, file movement, and logging behavior.


📦 Packaging into .exe

pyinstaller --noconsole --onefile main_gui.py --icon=logo.ico --add-data "config.json;."

The executable will be created in:

/dist/SmartFileOrganizer.exe

🧭 Project Roadmap

Stage Goal Tools / Libraries Status
1 Core Logic & Config Python, JSON ✅ Done
2 GUI Interface PySimpleGUI ✅ Done
3 Real-Time Watch Feature Watchdog ✅ Done
4 Package to .exe PyInstaller ✅ Done
5 GitHub & Portfolio Showcase GitHub, Wix Studio ✅ Done
6 AI-Powered Upgrade OpenAI, LangChain, Transformers ✅ Done

📜 License

This project is licensed under the MIT License — see the LICENSE.txt file for details.


👤 Author

Mohammed Yamin

📍 Amman, Jordan

💼 Developer Portfolio

💻 GitHub Profile

✉️ moyamingo1234@gmail.com


🌟 Acknowledgments

  • Developed entirely using VS Code + Tabnine AI
  • AI-Powered by OpenAI and Hugging Face Transformers
  • Inspired by the need for smart digital organization tools

About

Python-based automation tool that organizes files by type, date, or name pattern. Built with VS Code and Tabnine for clean, efficient code.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages