Skip to content

Repositório do Projeto Xavier com a Ecole 42

Notifications You must be signed in to change notification settings

LuigiEnzoFerrari/xavier

 
 

Repository files navigation

Xavier

Overview

Arquitetura

Xavier é um aplicativo capaz de fornecer vários dados sobre uma empresa como suas stacks, área de atuação e localização. O intuito do produto é centralizar as informações desejadas por recrutadores em uma única base de dados e que sua pesquisa seja simples e fácil. Para isso, foi utilizado um banco de dados do tipo PostgreSQL e a pesquisa do usuário é feita por três campos principais: localização, área de atuação e tecnologias.

Na interface, é possível pesquisar por estados, cidades, mercados e stacks desejados. Além disso, é possível acrescentar informações ao banco de dados, a partir de arquivos CSV, garantindo que ele sempre esteja atualizado.

Requisitos

  1. Criar um bucket na aws s3.
  2. Criar um banco de dados do tipo PostgreSQL.
  3. Colocar as credenciais das contas seguindo o modelo template_environments_variables.txt e salvando em um arquivo .env

Como usar

Clone o repositório.

Colete os dados

Vá para a pasta data_lake/data_sources e mude os env_file para o arquivo .env com as credenciais da AWS. Além disso, deve-se alterar a variável DESTINATION de cada um dos serviços do docker-compose, para o destino do arquivo parquet no S3. Então, digite no terminal:

docker-compose up

Após terminar de pegar os dados, vá para pasta data_lake/data_transform e escreva no terminal:

docker build -t xavier
docker run --rm --env-file <path-to-credentials> xavier

Iniciar o aplicativo

Vá para a pasta api e escreva no terminal:

echo REACT_APP_BASE_URL="localhost" > frontend/.env
docker-compose up

Agora a aplicação está rodando no localhost:3000

Usar o aplicativo

Pesquisa

Ao entrar na aplicação, preencha os dados que deseja buscar no primeiro card.

Primeiro card

A quantidade de dados gerados vai aparecer no topo do segundo card.

Segundo card

Agora, escolha as colunas e o nome e clique em download.

Adicione dados

No terceiro card da aplicação, é possível baixar o modelo de tabela para adicionar dados. Logo acima, há um exemplo de como os dados devem ser inseridos no arquivo.

img3

Baixe o modelo e coloque os dados como o exemplo.

img4

Clique em Choose File (Escolha Arquivo) e escolha um arquivo.

img5

Agora é só enviar clicando em Upload.

Você também pode ver dados que já foram enviados em Tabela do Usuario.

img6

Sobre os dados

O xavier eh uma aplicacao que coleta dados de sites de empresas e stacks usando webscrapping como tecnica principal. As fontes de dados sao Startupbase, Slintel, Coodesh e Programathor.

As principais informações que são apresentadas pelo programa são de localização, área de atuação e stacks das empresas encontradas. Com essas informações, acreditamos que recrutadores podem conseguir encontrar empresas que (deem match) com vagas que estão procurando. Além disso, para algumas empresas, ainda é possível obter algumas informações adicionais, tais como website e tamanho.

Após conseguir os dados, eles são salvos em buckets S3 da AWS em formato parquet. Então eles são normalizados (retirando caracteres especiais e passando para caixa baixa) e são retiradas as informações duplicadas, para serem enviados para um banco de dados PostgreSQL.

Exemplo

nome estado cidade mercado stacks
nubank sp sao paulo financas nginx, python...
glucogear sp sao paulo saude e bem-estar google cloud cdn...
... ... ... ... ...

About

Repositório do Projeto Xavier com a Ecole 42

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 67.8%
  • JavaScript 20.0%
  • Python 9.6%
  • Shell 1.7%
  • Dockerfile 0.6%
  • HTML 0.3%