Skip to content

projeto-de-algoritmos-2025/AlgoritimosAmbiciosos-Huffman

Repository files navigation

HuffmanCompressor

Next.js React TypeScript TailwindCSS

📋 Sobre o Projeto

Deploy

O HuffmanCompressor é uma aplicação web interativa que demonstra a compressão e descompressão de textos utilizando o algoritmo de Huffman.
A plataforma permite ao usuário:

  • Digitar ou carregar um arquivo de texto para compressão
  • Baixar o resultado comprimido em um arquivo .huff
  • Carregar um arquivo .huff para descompressão
  • Visualizar estatísticas de economia de espaço

Ideal para estudantes, professores e entusiastas de algoritmos, a ferramenta facilita o entendimento prático de compressão sem perda de dados.

Apresentação

🎯 Funcionalidades

  • Compressão de textos usando o algoritmo de Huffman
  • Descompressão de textos a partir de arquivos .huff ou dados Base64
  • Download do arquivo comprimido (.huff)
  • Upload de arquivos de texto ou .huff
  • Exibição de estatísticas: tamanho original, tamanho comprimido e porcentagem de economia
  • Interface responsiva e intuitiva desenvolvida com TailwindCSS e Radix UI

🧮 Algoritmo Implementado

  • Huffman: Compressão e descompressão sem perda baseada em árvore de prefixos.

👥 Equipe

Edilberto Almeida Cantuária
Edilberto Almeida Cantuária
Engenharia de Software/FCTE
Matrícula: 222014984
edilbertounbfga@gmail.com
Kauan de Torres Eiras
Kauan de Torres Eiras
Engenharia de Software/FCTE
Matrícula: 232014727
232014727@aluno.unb.br

🚀 Como Executar

Pré-requisitos

  • Node.js (versão 18 ou superior)
  • npm ou yarn

Instalação

  1. Clone o repositório:

    git clone https://github.com/seu-usuario/AlgoritimosAmbiciosos-Huffman.git
    cd AlgoritimosAmbiciosos-Huffman
  2. Instale as dependências:

    npm install
    # ou
    yarn install
  3. Execute a build do projeto:

    npm run build
    # ou
    yarn build
  4. Execute o projeto em modo de desenvolvimento:

    npm run dev
    # ou
    yarn dev
  5. Acesse o aplicativo em seu navegador:

    http://localhost:3000
    

🛠️ Tecnologias Utilizadas

  • Frontend:

    • Next.js 15.2.4
    • React 19
    • TypeScript 5
    • TailwindCSS 3.4.17
    • Radix UI (componentes acessíveis)
    • Lucide React (ícones)
  • Desenvolvimento:

    • ESLint (linting)
    • Prettier (formatação de código)
    • TypeScript (tipagem estática)

📝 Como Contribuir

  1. Faça um fork do projeto
  2. Crie uma branch para sua feature (git checkout -b feature/nova-feature)
  3. Faça commit das suas alterações (git commit -m 'Adiciona nova feature')
  4. Faça push para a branch (git push origin feature/nova-feature)
  5. Abra um Pull Request

📄 Licença

Este projeto está licenciado sob a licença MIT – veja o arquivo LICENSE para detalhes.


Desenvolvido com ❤️ por Edilberto Almeida Cantuária e Kauan de Torres Eiras

Universidade de Brasília – Faculdade do Gama

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •