Início Profile Projeto
Avatar de

Franklin Almeida Campos

Leitor de Markdown

  • Javascript
  • Node.js
  • Jest

Leitor de Markdown

Programa em Node.js Vanilla para leitura e verificação de links de arquivos md, projeto com base nas aulas de Node da Alura. Fr4nxxB0t-01 v1.0.0




🪧 Vitrine.Dev https://cursos.alura.com.br/vitrinedev/franklindrw
Nome Leitor de Markdown
🏷️ Tecnologias Javascript, Node.js, Jest
🚀 URL
🔥 Desafio Criar um leitor de markdown para testar URL



🧭 Índice



🔎 Sobre o Projeto

Objetivo

O Robo tem como objetivo abrir postagens de blogs ou artigos escritos em markdown para identificar e testar todos os links referenciados no texto para que não seja necessário a verificação manual abrindo link por link. Com isso é possível facilitar o dia-a-dia da redação do blog ou site para garantir que todos os conteúdos estão funcionando, deixando a manutenção automatizada.

Ao executar a aplicação ela mostra a lista de links encontradas no texto, e abaixo qual o status, sendo que status 200 está online, e status 400 ou maior está offline com o código do erro retornado. teste-links

Construção

Para essa aplicação foi usado na sua estrutura Vanilla.js (Javascript Puro), com ele foi possível fazer a leitura do arquivo e identificar o padrão dos links existentes com regex em todo o texto que está sendo lido pelo robo.

Aqui na função "pega arquivo" foi usado async e await para que o JS aguarde que o ReadFile (leitor de arquivos) do javascript possa ler e armazenar todo o texto em uma variável, para que assim possa seguir para as outras funções. E para validação de erros foi colocado um try catch, assim caso algum erro aconteça durante a operação possa ser identificado e tratado durante a construção da aplicação. captura-texto

Após a captura do texto é passado para função de extração de links, que por sua vez usa regex para identificar os padrões dos links salvos no texto e monta a lista de links captura-dos-links

Node-fetch

Após o robo montar a lista com todos os links encontrados no texto, ele faz o teste usando Node-fetch para capturar o retorno do servidor de cada link, assim identificando quais estão com algum problema e mostrar para o usuário do programa quais links precisam de reparos. checa-status

Então após validar todos os links, o robo monta novamente o array, inserindo conforme o index definido na função map o status code de cada objeto.
monta-resposta

Testes unitários Jest.js

Por fim, toda a aplicação foi validada usando um framework de testes Jest.js, com ele conseguimos fazer um fluxo de testes para garantirmos que toda a aplicação está em funcionamento, então conforme foi construido o Robo, foi montado um fluxo de testes para que seja validado a qualidade do produto conforme ela se desenvolve. jest-tester

Além de conseguirmos acompanhar todo o fluxo da aplicação é possível também vermos a tempo usado para executar cada fluxo programado. jest-fluxos

🔨 Construindo com



📥 Instalação

  1. Verifique se você tem o node instalado em sua maquina executando o comando a baixo no prompt da sua máquina:
node -v

caso não tenha sido identificado o comando é necessário instalar node para executar o programa, siga os passos clicando aqui!

  1. Clone o repositório

  2. Navegue até a pasta clonada

  3. Abra o CMD na pasta ou abra uma janela cmd e cole o caminho após digitar cd



▶️ Como usar

  1. Copie o endereço do arquivo que você quer que o Robo faça leitura e teste as URLs encontradas

  2. Depois com o CMD aberto na pasta do projeto execute o comando com o caminho do arquivo a frente:

node cli.js <caminho do arquivo>
  1. Com isso é possível ver a lista impressa no cmd, com todos os links encontrados e seus respectivos status code.

  2. Caso queira ver o fluxo de teste do jest, basta executar no cmd:

npm run test

🖊 Autor

Foto do Autor
Franklin Campos

Feito por Franklin Campos 👋🏻
Entre em contato!



📋 Licença

Copyright 2022 © Franklin Campos
This project is MIT licensed.