Skip to content

gmtns/node-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 

Repository files navigation

Desafio / Teste Node

Problemática:

Crie uma página que receba uma URL para um site qualquer (exemplo: "www.google.com.br").

Feito isso, extraia todas as imagens do link em questão via back-end e armazene-as em um diretório qualquer.

Armazene o link da página e o caminho de cada imagem baixada em um banco de dados e exiba na tela miniaturas destas imagens.

Resultado

GIF 16-07-2020 17-02-39

BACKEND (API)

✔️ Buscar imagens na url

✔️ Salvar url imagens no banco

✔️ Baixar image e salvar em diretório local

✔️ Opção para substituir/atualizar se a url já existir

✔️ Adicionar socket.io

FRONTEND (VUE JS + TAILWIND.CSS)

✔️ Criar pagina

✔️ Gerenciar estado

✔️ Conectar web sockets

❌ Loadings e mensagens de erros.

Considerações

  • A api foi desenvolvida utilizando os conceitos de TDD, SOLID e DDD e alguns padrões de projeto.
  • Facilidade para refactors ou adicionar novas features
  • A api recebe uma url no corpo (método post).
  • Dado a url é feito um web scraping na página fornecida e é filtrado todas as tags imgs.
  • O atributo src da tag img é baixado e salvo na pasta images na raiz do projeto.
  • Após baixado o endereço local das imagens é enviada para o Mongo.
  • Se já houver a mesma url no banco e uma nova requisição for feita, ocorre uma atualização nas imagens.

Executando o projeto

Scripts

  • BACKEND

npm run start (executa o servidor)

npm run test:unit ( executa os testes unitários)

  • FRONTEND

npm install

npm run serve

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published