Voltar aos projetos

Sobre o Projeto

Aplicação web que simula um terminal interativo retrô com estética de monitor CRT. Permite executar comandos que interagem com rotas de API próprias desenvolvidas em Node.js, incluindo consulta de arquivos, informações do sistema, compressão/descompressão e geração de hashes. O projeto explora módulos nativos do Node.js, padronização de respostas através de middlewares customizados e oferece feedback sonoro e visual para uma experiência imersiva e nostálgica.

Funcionalidades

  • Terminal Interativo com Estética Retrô

    Simulação completa de um terminal retrô com execução de comandos em tempo real, incluindo visual de monitor CRT com efeitos de ondulação, cor verde característica e feedback sonoro e visual.

  • Comandos de Sistema e Manipulação de Arquivos

    Conjunto de comandos que utilizam módulos nativos do Node.js para exibir informações do sistema operacional (CPU, memória, uptime), além de permitir consulta, leitura e criação de hash de arquivos.

  • Compressão e Descompressão de Arquivos

    Sistema de upload e compressão/descompressão GZIP de arquivos através do terminal, permitindo que o usuário envie arquivos do seu sistema local e receba os resultados processados.

  • Conversão Para Arte ASCII

    Integração com Figlet para transformar textos em arte ASCII no estilo de programas antigos de terminal, mantendo a atmosfera nostálgica.

Desafios

  • Simulação Visual de Monitor CRT

    Recriar a estética de um monitor CRT dos anos 80 utilizando CSS, incluindo efeitos de ondulação da tela, sombras para simular curvatura do vidro, fonte monoespaçada característica e cor verde típica de terminais antigos.

  • Middleware de Formatação de Respostas

    Desenvolver um sistema de middleware que intercepta e padroniza todas as respostas do servidor em um formato consistente e legível para exibição no terminal.

  • Gerenciamento de Upload e Download de Arquivos via Web

    Implementar um sistema que permite ao usuário enviar arquivos do sistema local através do navegador para compressão/descompressão no servidor, processá-los e retornar os resultados para a interface.

  • Sistema de Comandos Integrado às APIs

    Criar uma camada de abstração que permite executar comandos diretamente no terminal e usá-los em requisições para as rotas de API correspondentes.

Aprendizados

  • APIs com Módulos Nativos do Node.js

    Exploração dos módulos nativos do Node.js para criar APIs sem dependências externas, incluindo manipulação de arquivos, compressão GZIP, geração de hashes SHA-256 e consulta de informações do sistema operacional.

  • Simulação de Interface de Terminal Retrô

    Técnicas de CSS para recriar a experiência visual de terminais CRT antigos, incluindo efeitos de ondulação, brilho, curvatura e animações que simulam o comportamento de monitores dos anos 80.

  • Padronização e Middlewares Customizados

    Desenvolvimento de middlewares para interceptar e transformar respostas do servidor, garantindo consistência visual na interface do terminal.

  • Manipulação de Arquivos via APIs Web

    Implementação de upload e processamento de arquivos usando APIs nativas do JavaScript no navegador, incluindo conversão para base64, validação e envio seguro para o servidor para operações de compressão e descompressão.