Skip to content

MrPatchara/VINA-File-Manager

Repository files navigation

πŸ“ VINA File Manager

Python PyQt5 License Platform

A modern, feature-rich file management system with advanced search and metadata organization

Features β€’ Installation β€’ Usage β€’ Screenshots β€’ Contributing


πŸ“‹ Table of Contents


🎯 About

VINA File Manager is a sophisticated desktop application designed for efficient document and file management. Built with PyQt5, it provides an intuitive interface for organizing, searching, and managing files with rich metadata support including categories, clients, versions, and custom item names.

Perfect for businesses and teams that need to:

  • πŸ“š Organize large collections of documents
  • πŸ” Quickly search files by multiple criteria
  • ⭐ Mark and filter favorite files
  • πŸ“Š Track file versions and metadata
  • 🎨 Work in a comfortable dark or light theme

✨ Features

πŸ” Advanced Search

  • Real-time search across multiple fields:
    • Filename
    • Item name
    • Category
    • Client name
    • Version number

πŸ“ File Management

  • βž• Add individual files or entire folders
  • πŸ–±οΈ Drag & drop support for quick file import
  • πŸ“‚ Open files or navigate to their folders
  • πŸ—‘οΈ Remove files from database

🏷️ Metadata Organization

  • Categories: Organize files by type or department
  • Clients: Track files by customer or project
  • Versions: Maintain version history
  • Item Names: Custom descriptive names for files
  • Auto-complete: Dropdown suggestions for categories and clients

⭐ Favorites System

  • Mark important files as favorites
  • Filter view to show only favorites
  • Quick toggle between all files and favorites

🎨 User Interface

  • πŸŒ— Dark/Light mode toggle
  • πŸ“Š Clean, modern table view
  • 🎯 Context menu for quick actions
  • πŸ“± Responsive column resizing
  • πŸ”„ Auto-refresh functionality

πŸ’Ύ Data Persistence

  • SQLite database for reliable storage
  • Automatic metadata tracking
  • Last modified date tracking

πŸ“¦ Requirements

  • Python 3.6 or higher
  • PyQt5 5.12 or higher
  • SQLite3 (included with Python)

Optional (for building executables)

  • PyInstaller
  • Inno Setup (for Windows installer)

πŸš€ Installation

Method 1: Using Python (Development)

  1. Clone the repository

    git clone https://github.com/yourusername/File-manager-project.git
    cd File-manager-project
  2. Install dependencies

    pip install PyQt5
  3. Run the application

    python "VINA File_manager.py"

Method 2: Using Pre-built Executable

  1. Download the latest release from the Releases page
  2. Run VINA File_manager.exe
  3. The application will create a files_advanced.db database file automatically

πŸ’» Usage

Getting Started

  1. Launch the application

    • Run the executable or Python script
    • The database will be created automatically on first launch
  2. Add Files

    • Click βž• ΰΉ€ΰΈžΰΈ΄ΰΉˆΰΈ‘ΰΉ„ΰΈŸΰΈ₯์ (Add File) to select individual files
    • Click πŸ“ ΰΉ€ΰΈžΰΈ΄ΰΉˆΰΈ‘ΰΉ‚ΰΈŸΰΈ₯ΰΉ€ΰΈ”ΰΈ­ΰΈ£ΰΉŒ (Add Folder) to import all files from a folder
    • Or simply drag and drop files/folders into the window
  3. Enter Metadata

    • When adding files, you'll be prompted for:
      • Item Name: A descriptive name for the file
      • Category: File category (with auto-complete)
      • Client: Client or project name (with auto-complete)
      • Version: Version number or identifier
  4. Search Files

    • Type in the search box to filter files in real-time
    • Search works across all metadata fields
  5. Manage Files

    • Double-click a file to open it
    • Right-click for context menu options:
      • Open file
      • Open folder
      • Edit metadata
      • Toggle favorite status
      • Delete from database
  6. View Favorites

    • Click ⭐ แΰΈͺดงราฒการโปรด (Show Favorites) to filter
    • Toggle back to show all files
  7. Switch Themes

    • Click πŸŒ— ΰΈͺΰΈ₯ΰΈ±ΰΈšΰΉ‚ΰΈ«ΰΈ‘ΰΈ”ΰΈͺΰΈ§ΰΉˆΰΈ²ΰΈ‡/ΰΈ‘ΰΈ·ΰΈ” (Toggle Dark/Light Mode)

πŸ“‚ Project Structure

File-manager-project/
β”‚
β”œβ”€β”€ VINA File_manager.py      # Main application file
β”œβ”€β”€ VINA File_manager.spec    # PyInstaller spec file
β”œβ”€β”€ files_advanced.db          # SQLite database (auto-generated)
β”œβ”€β”€ logo.png                   # Application logo
β”œβ”€β”€ logo.ico                   # Application icon
β”œβ”€β”€ developer.png              # Developer information image
β”‚
β”œβ”€β”€ build/                     # Build artifacts
β”‚   └── VINA File_manager/
β”‚
β”œβ”€β”€ dist/                      # Distribution files
β”‚   β”œβ”€β”€ VINA File_manager.exe
β”‚   └── ...
β”‚
└── compile setup/            # Installation setup files
    β”œβ”€β”€ set.iss
    └── VINA File_manager.exe

πŸ—„οΈ Database Schema

The application uses SQLite with three main tables:

files Table

Column Type Description
id INTEGER Primary key
filename TEXT Original filename
item_name TEXT Custom item name
filepath TEXT Full file path
category TEXT File category
client TEXT Client/project name
version TEXT Version identifier
favorite INTEGER Favorite flag (0 or 1)
last_modified TEXT Last modification date

category_list Table

Column Type Description
id INTEGER Primary key
name TEXT Category name (unique)

client_list Table

Column Type Description
id INTEGER Primary key
name TEXT Client name (unique)

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

How to Contribute

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

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


πŸ™ Acknowledgments

  • Built with PyQt5
  • Database powered by SQLite
  • Developed for VINA Sport Company

Made with ❀️ for efficient file management

⭐ Star this repo if you find it helpful!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors