/Greed_Compressor

Compressor de arquivos txt usando Huffman, 2020

Primary LanguagePython

Greed Compressor

Conteúdo da Disciplina: Algoritmos Ambiciosos (Greed)
Tema: Compressão de dados

Alunos

Matrícula Aluno GitHub
15/0009011 Elias Bernardo @ebmm01
17/0141161 Erick Giffoni @ErickGiffoni

Sobre

Greed Compressor é um compressor de dados que funciona via execução pelo terminal/shell (v1.0) e via GUI (v2.0).
Com ele você consegue comprimir um arquivo de texto no formato .txt e gerar um arquivo binário com
tamanho reduzido, bem como descomprimir um arquivo em binário (no formato .greed_compressed)
para voltar ao original.

Greed Compressor funciona segundo o algoritmo de compressão de dados de Huffman

Uma evolução mais recente para o Greed Compressor foi feita, a qual permite verificar diferenças entre arquivos por meio de um algoritmo de diff.
Saiba mais em : Coé

Linguagem: Python 3.8
Biblioteca(s): bitstring, pyfiglet

Requisitos para utilizar esse projeto

  • conexão de internet;
  • terminal/console/shell no computador;
  • pip & venv
  • Python 3.8 (necessariamente)
  • clonar o projeto;

Para clonar o projeto digite:

git clone https://github.com/projeto-de-algoritmos/Greed_Compressor.git

Screenshots

Versão GUI - v2.0

  • Tela de sucesso ao descomprimir um arquivo

  • Tela de sucesso ao comprimir um arquivo

  • Tela de seleção de arquivo

Versão Terminal - v1.0

  • Menu inicial


  • Compressão de arquivo realizada


  • Descompressão de arquivo realizada

Instalação

Após fazer o clone do projeto, siga os passos abaixo :

  • entre na raiz do projeto
$ cd Greed_Compressor/
  • (Opcional) Caso não possua uma venv, gere uma:
$ python -m venv <nome da venv>
  • (Opcional) Ative a venv caso não esteja:

Note que o comando abaixo pode variar de acordo com o sistema operacional. Em caso de dúvidas veja a documentação

$ source venv/bin/activate
  • instale as dependências
$ python -m pip install -r requirements.txt
  • execute o projeto

Para a versão GUI

$ python -m view.gui.main

Para a versão terminal:

$ python -m view.terminal.main

Uso

GUI - v2.0

  • Vídeo de apresentação : v2.0

O uso da interface é auto explicativo, porém aqui estão alguns passos :

  • Clique em "selecionar" para escolher um arquivo

  • Se o arquivo selecionado for do tipo txt, clique em "Comprimir", depois "Confirmar"

  • Se o arquivo selecionado for do tipo greed_compressed, clique em "Descomprimir", depois "Confirmar"

  • Para sair, clique em "Sair"

Terminal - v1.0

Com o projeto em execução escolha uma das opções numéricas do menu principal:

1 - Codificar arquivo
2 - Decodificar arquivo
0 - Sair/ Terminar execução

Feito isso, siga as instruções em tela.

Problemas ? Sugestões ?

Caso você tenha alguma dificuldade, sugestão ou algum problema com o projeto,
por favor entre em contato conosco: