Skip to content
/ Zippy Public

Zippy is an extremely efficient tool to compress and decompress text files by utilizing the Huffman Coding Algorithm and concurrent parallel processing.

License

Notifications You must be signed in to change notification settings

OmOgale/Zippy

Repository files navigation

Zippy

The simplest and quickest way to zip and unzip your text files!!! :)
Utilizes the Huffman Coding Algorithm and achieves greater than a 2:1 compression ratio.
Extremely fast compression and decompression due to use of concurrent parallel processing.
Compiled using CMake with the clang compiler.

Initial Steps to use Zippy:

Containerized using Docker with multi-platform/architecture support using buildx.

Steps to work with Docker:

  1. Ensure Docker is installed on your machine https://www.docker.com/get-started/. Have basic knowledge of commands like docker images, docker ps, etc.
  2. Run docker pull oogale/zippy in the terminal.
  3. Verify if present by running docker images.
  4. To run the shell and work as if you were in a terminal: docker run -it IMAGE-ID sh
  5. To send files to the container: docker create -v /path/on/host:/path/to/container-dir IMAGE-ID
  6. To copy compressed files/decoded files from the container to your local fs, run docker cp your-container-name:/path/to/file-on-container /path/on/host

OR!!

Steps to Clone:

  1. Clone the repo.
  2. In the terminal, run bash run.sh to build the Zippy executable.
  3. (IF NOT USING DOCKER) you can run bash download.sh if you want to save the compressed/decoded files to your machine.
    NOTE: Could run into issues with C++ compilation, especially on a different platform architecture, since this program was designed on MacOS.

How to run Zippy in the terminal:

    Options:
  • ./Zippy -encode "text filename/filepath"
  • ./Zippy -decode "binary filename/filepath"

drawing

drawing

drawing

drawing

About

Zippy is an extremely efficient tool to compress and decompress text files by utilizing the Huffman Coding Algorithm and concurrent parallel processing.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published