Article image
Carlos Soares
Carlos Soares09/09/2024 15:06
Compartilhe

Como Criei um Assistente de Busca com Direcionamento de Anúncios com JavaScript do Zero

  • #HTML
  • #CSS
  • #JavaScript

Olá Comunidade Dev!

Hoje vou compartilhar um projeto incrível para quem está começando no mundo do desenvolvimento web! A ideia é criar um Assistente de Busca para exemplificar de forma simples as funcionalidade de buscas com Java Script dentro de objetos dentro de seu próprio site. Vamos ver o que o projeto envolve e como você pode implementá-lo.

O que é o projeto?

O Assistente de Busca é uma aplicação web que permite aos usuários buscar por qualquer conteúdo a partir de uma barra de pesquisa. A funcionalidade é acionada de forma intuitiva, seja clicando em um botão de busca ou simplesmente pressionando a tecla "Enter" no teclado.

Essa ferramenta é ideal para qualquer site que precise de um sistema de busca ágil e eficiente, oferecendo uma experiência de navegação otimizada para o usuário.

Como funciona?

A aplicação é simples, mas bastante funcional. Veja os principais pontos:

  1. Input de Busca: O usuário digita o termo que deseja pesquisar.
  2. Tecla Enter ou Clique: A busca é acionada de duas formas — quando o usuário pressiona a tecla Enter ou clica no botão de busca.
  3. Direcionamento: Após a busca, o usuário é redirecionado para uma página com os resultados, que pode esta integrada a um repositórios de conteúdo no backend do próprio site.

image

Implementação do algorítimo de direcionamento do anúncio

O direcionamento dos anúncios é feito de acordo com o que o usuário pesquisar, sendo enviado um anúncio pesonalizado de acordo com o conteúdo mais pesquisado pelo usuário. Esta funcionalidade foi implemnetada com o códgio Java Script abaixo:

// Objeto para armazenar o número de pesquisas por linguagem
let contadorLinguagens = {
  javascript: 0,
  python: 0,
  java: 0,
  'c#': 0,
  html: 0,
  css: 0,
  kotlin: 0,
  r: 0,
  'c++': 0,
  assembly: 0,
  c: 0,
  php: 0,
  go: 0,
  swift: 0,
  typescript: 0,
  ruby: 0,
  scala: 0,
  dart: 0,
  rust: 0,
  perl: 0
};

// Função que retorna a linguagem com mais pesquisas
function linguagemMaisPesquisada() {
  let maiorPesquisa = null;
  let maiorValor = 0;


  // Percorre o objeto e identifica a linguagem com mais pesquisas
  for (let linguagem in contadorLinguagens) {
      if (contadorLinguagens[linguagem] > maiorValor) {
          maiorValor = contadorLinguagens[linguagem];
          maiorPesquisa = linguagem;
      }
  }


  return maiorPesquisa;
}

// Exibe a linguagem com mais pesquisas
  const linguagemComMaisPesquisas = linguagemMaisPesquisada();
  switch (linguagemComMaisPesquisas) {
      case 'javascript':
          adBanner.innerHTML = `
              <img src="img/javascript.png" alt="Propaganda JavaScript" class="ad-image">
                  <p>Aprenda JavaScript com Google X Alura por 50% Off</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'python':
          adBanner.innerHTML = `
              <img src="img/python.png" alt="Propaganda Python" class="ad-image">
                  <p>Aprenda Python com Google X Alura por 50% Off</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'java':
          adBanner.innerHTML = `
              <img src="img/java.png" alt="Propaganda Java" class="ad-image">
                  <p>Aprenda Java com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'c#':
          adBanner.innerHTML = `
              <img src="img/csharp.png" alt="Propaganda C#" class="ad-image">
                  <p>Aprenda C# com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'html':
          adBanner.innerHTML = `
              <img src="img/html.png" alt="Propaganda HTML" class="ad-image">
                  <p>Aprenda HTML com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'css':
          adBanner.innerHTML = `
              <img src="img/css.png" alt="Propaganda CSS" class="ad-image">
                  <p>Aprenda CSS com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'kotlin':
          adBanner.innerHTML = `
              <img src="img/kotlin.png" alt="Propaganda Kotlin" class="ad-image">
                  <p>Aprenda Kotlin com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'r':
          adBanner.innerHTML = `
              <img src="img/r.png" alt="Propaganda R" class="ad-image">
                  <p>Aprenda R com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'c++':
          adBanner.innerHTML = `
              <img src="img/c++.png" alt="Propaganda C++" class="ad-image">
                  <p>Aprenda C++ com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'assembly':
          adBanner.innerHTML = `
              <img src="img/assembly.png" alt="Propaganda Assembly" class="ad-image">
                  <p>Aprenda Assembly com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'c':
          adBanner.innerHTML = `
              <img src="img/c.png" alt="Propaganda C" class="ad-image">
                  <p>Aprenda C com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'php':
          adBanner.innerHTML = `
              <img src="img/php.png" alt="Propaganda PHP" class="ad-image">
                  <p>Aprenda PHP com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'go':
          adBanner.innerHTML = `
              <img src="img/go.png" alt="Propaganda Go" class="ad-image">
                  <p>Aprenda Go com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'swift':
          adBanner.innerHTML = `
              <img src="img/swift.png" alt="Propaganda Swift" class="ad-image">
                  <p>Aprenda Swift com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'typescript':
          adBanner.innerHTML = `
              <img src="img/typescript.png" alt="Propaganda TypeScript" class="ad-image">
                  <p>Aprenda TypeScript com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'ruby':
          adBanner.innerHTML = `
              <img src="img/ruby.png" alt="Propaganda Ruby" class="ad-image">
                  <p>Aprenda Ruby com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'scala':
          adBanner.innerHTML = `
              <img src="img/scala.png" alt="Propaganda Scala" class="ad-image">
                  <p>Aprenda Scala com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'dart':
          adBanner.innerHTML = `
              <img src="img/dart.png" alt="Propaganda Dart" class="ad-image">
                  <p>Aprenda Dart com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'rust':
          adBanner.innerHTML = `
              <img src="img/rust.png" alt="Propaganda Rust" class="ad-image">
                  <p>Aprenda Rust com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      case 'perl':
          adBanner.innerHTML = `
              <img src="img/perl.png" alt="Propaganda Perl" class="ad-image">
                  <p>Aprenda Perl com nossa parceria especial!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
      default:
          adBanner.innerHTML = `
              <img src="img/geral.png" alt="Propaganda Geral" class="ad-image">
                  <p>Confira nossas promoções e ferramentas para desenvolvedores!</p>
                  <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
          `;
          break;
  }


  section.innerHTML = resultados;
}


function configurarBannerPadrao() {
  let adBanner = document.querySelector('.ad-banner');
  adBanner.innerHTML = `
      <img src="img/geral.png" alt="Propaganda Geral" class="ad-image">
      <p>Confira nossas promoções e ferramentas para desenvolvedores!</p>
      <a href="https://www.alura.com.br/" target="_blank">Site Alura</a>
  `;
}


window.onload = function () {
  configurarBannerPadrao();
};

Conclusão

Esse projeto é um ótimo ponto de partida para quem quer aprender mais sobre desenvolvimento web e otimização de UX. Fique à vontade para testá-lo e adaptá-lo conforme sua necessidade!

Se você gostou do projeto ou quer acompanhar mais conteúdos, siga minhas redes sociais para não perder nada. Acompanhe também o GitHub, onde sempre compartilho códigos e projetos.

Espero que esse artigo tenha te inspirado a dar os primeiros passos no desenvolvimento web. 🚀

Nos vemos nas redes!

Vamos Disseminar os Conhecimentos e Transbordar Tudo o que Aprendemos!

Segue o link para o site: https://projeto-assistente-busca-google-alura.vercel.app/

GitHub: Link do GitHub LinkedIn: Link do LinkedIn

Compartilhe
Comentários (0)