Skip to content

Buscador de tags validas e suas respectivas quantidades, aonde a URL deve ser informada no campo de entrada e sera retornada uma tabela contendo todos os dados obtidos

License

Notifications You must be signed in to change notification settings

EdnaldoLuiz/HTML-Tags-Searcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nuti-desafio-tags

💻 Visao geral do Projeto:

Nome

Descrição

Imagem

📄 Formulario de busca: Campo de entrada do usuário para buscar tags com base na URL fornecida.
📊 Tabela com todos registros do MySQL Tabelas de URLs e Tags com os dados existentes no banco de dados.
❌ URL passada incorretamente: Caso a URL passada seja inexistente.
📊 Tabela de resultados: Tabela com o resultado retornado da pesquisa passada no campo de busca.

‼️ Problema

  • No código de uma página HTML há diversas tags para apresentar o conteúdo da melhor forma.
  • Para uma análise mais cautelosa, há o interesse de contabilizar a quantidade de cada tag HTML em uma determinada página.
  • É necessário criar um programa para identificar as tags HTML existentes nas páginas que forem carregadas por meio da URL informada.
  • Deve ser contado quantas vezes cada tag aparece em cada página.
  • É necessário mostrar as informações coletadas para possibilitar verificar os dados da URL informada.
  • Assim, as URL, tags e as respectivas contagens devem ser armazenadas em um banco de dados.

📋 Exemplo:

<html>
   <head>
      <title>Teste prático</title>
   </head>
   <body>
      <h1>Olá</h1>
      <p>Teste 1</p>
      <p>Teste 2</p>
      <p>Teste 3</p>
   </body>
</html>

✅ Resultado:

Tag Quantidade
html 1
head 1
title 1
body 1
h1 1
p 3

📝 Diagrama de Classes:

classDiagram
    class Tags {
        + Long id
        + String tag
        + Long quantidade
        + Urls urlInfo
    }
    
    class Urls {
        + Long id
        + String url
    }
    
    Tags "1" -- "many" Urls : urlInfo

Loading

🐬 Código MySQL:

📝 Tabela de urls:

CREATE TABLE tb_urls (
  id BIGINT AUTO_INCREMENT PRIMARY KEY,
  url VARCHAR(255) NOT NULL
);

📝 Tabela de tags:

CREATE TABLE tb_tags (
  id BIGINT AUTO_INCREMENT PRIMARY KEY,
  tag VARCHAR(255) NOT NULL,
  quantidade BIGINT,
  url_info_id BIGINT,
  FOREIGN KEY (url_info_id) REFERENCES tb_urls(id)
);

📚 Principais Bibliotecas para a Solução:

JSoup

  • Bilioteca usada para extrair a quantidade de tags e seus respectivos nomes das URLs informadas
<dependency>
	<groupId>org.jsoup</groupId>
	<artifactId>jsoup</artifactId>
	<version>1.16.1</version>
</dependency>

Flyway

  • Bilioteca usada para criar as tabelas do banco de dados dentro da pasta db/migration
<dependency>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-core</artifactId>
</dependency>

<dependency>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-mysql</artifactId>
</dependency>

MySQL-connector

  • Bilioteca usada para conectar o projeto ao MySQL
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>8.0.33</version>
</dependency>

JPA

  • Bilioteca usada para utilizar as interfaces e anotações ajudando a manipular os dados
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

Thymeleaf

  • Bilioteca usada para integrar as respostas do controller em páginas html
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

🔧 Tech Stack utilizada:

About

Buscador de tags validas e suas respectivas quantidades, aonde a URL deve ser informada no campo de entrada e sera retornada uma tabela contendo todos os dados obtidos

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published