Code Monkey home page Code Monkey logo

greed_compressor's Introduction

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:

greed_compressor's People

Contributors

ebmm01 avatar erickgiffoni avatar

Stargazers

 avatar

Watchers

 avatar  avatar

greed_compressor's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.