Back to CV

File Organization GUI - Python Desktop Application

A powerful desktop application built with Python and Tkinter that automates file organization tasks. The application allows users to define custom rules for organizing files based on type, name patterns, date modified, and more. Features a user-friendly GUI that makes complex file operations accessible to non-technical users.

Key Features

  • Intuitive GUI built with Tkinter for easy file management
  • Custom rule engine for flexible file organization
  • Batch processing capabilities for handling large file collections
  • Real-time preview of file operations before execution
  • Undo functionality to reverse organization operations
  • Cross-platform support (macOS, Linux, Windows)

Achievements

  • Built Python/Tkinter desktop application to automate file organization based on user-defined rules
  • Implemented CI/CD with Jenkins pipeline for automated builds using PyInstaller
  • Created installation scripts for macOS and Linux to simplify deployment process

Technical Challenges

  • Implementing efficient file scanning for directories with thousands of files
  • Creating a responsive GUI that doesn't freeze during long operations
  • Building cross-platform installation scripts
  • Setting up CI/CD pipeline with PyInstaller for automated releases

System Architecture

The application follows a Model-View-Controller (MVC) pattern with the Tkinter GUI as the view layer, a rule engine as the controller, and file system operations as the model. The CI/CD pipeline uses Jenkins to automatically build executables for different platforms whenever changes are pushed to the main branch.