Skip to content

A macOS desktop application for file compression and decompression, built with the open-source C++ GUI framework wxWidgets, featuring optimized data handling through integration of Dijkstra's algorithm.

Notifications You must be signed in to change notification settings

Lumb3/ArchiveManager

Repository files navigation

🧠 Note on Algorithms Used:
This project utilizes a variation of Dijkstra’s algorithm (inspired by greedy selection and minimum spanning tree techniques) to compute optimal file ordering for compression. Although the algorithm implementation resembles Dijkstra, it is functionally closer to Prim’s algorithm for MST generation — helping improve archive efficiency.

📦 Archive Manager (macOS Desktop App)

A macOS desktop application implementing Dijkstra's algorithm for efficient file path resolution when creating and extracting ZIP archives — built with C++ and wxWidgets.


🧩 Features

  • 🗜️ Create Archive
    Select multiple files or folders and compress them into a single .zip file at your desired location using optimized path resolution.

  • 📂 Extract Archive
    Unzip files instantly with smart path determination — no nested folders, just direct access to the actual contents.

  • 💡 Batch Extraction
    Extract multiple ZIP files at once with a single click using parallel processing.

Designed with algorithmic efficiency in mind, Archive Manager combines Dijkstra's pathfinding with compression for frustration-free archiving.


🖥️ User Interface Preview

Main Interface Extraction Screen

⬇️ Download

⚠️ This app requires local compilation and is only compatible with macOS due to licensing limitations. Therefore, Option 1 will only show the UI without operation

Download the prebuilt app to preview the user interface:
🔗 ArchiveManager.zip


🚀 Quick Start (macOS only)

Option 1: Use Prebuilt App

  1. Download ArchiveManager.zip
  2. Unzip the file:
    unzip ArchiveManager.zip -d ~/Applications/
  3. Lauch the application
    open ~/Applications/ArchiveManager.app

Option 2: Build from Source (Need a compiler and wxWidgets)

  1. Clone the repository:
    git clone https://github.com/Lumb3/ArchiveManager.git
    cd ArchiveManager
  2. Build the project (requires wxWidgets):
    make  # or follow build instructions in the repository
  3. Run the application:
    ./ArchiveManager
    

📽️ Watch the application in action:

https://www.youtube.com/watch?v=k7_x3RX6FfE

About

A macOS desktop application for file compression and decompression, built with the open-source C++ GUI framework wxWidgets, featuring optimized data handling through integration of Dijkstra's algorithm.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published