Price Research

O projeto Price Research é uma API voltada para inteligência negócios, realizando pesquisas automatizadas de produtos em grandes plataformas como Google Shopping ou Mercado Livre com intuíto de realizar uma análise precificação de produtos.

Estrutura do Projeto

Foi utilizado as seguintes tecnologias no projeto:

├── models                   
├── routes                    
├── utils                     
├── index.js                    
├── .env

Bibliotecas

  • Express
  • Puppeteer
  • Morgan-Body
  • Moongose
  • Bcrypt
  • JWT - Json Web Token

Como executar o projeto?

Para executar o projeto é necessário ter instalado em seu computador

  • NodeJS
  • MongoDB
  • Postman

Para baixar o projeto clique faça um git clone do projeto. Após fazer o clone do projeto acesse a pasta do mesmo e execute o comando no prompt de comando ou no bash npm install, quando conluído a instalação execute o comando npm run dev. O node irá subir uma API REST para realizar a pesquisa.

Testando API REST

  • Cadastro de Usuário
var axios = require('axios');
var data = JSON.stringify({
  "Name": "Fernando Soares",
  "Email": "teste@gmail.com",
  "Password": "Teste123"
});

var config = {
  method: 'post',
  url: 'http://localhost:3000/login',
  headers: { 
    'Content-Type': 'application/json'
  },
  data : data
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});
  • Geração de Token
var axios = require('axios');

var config = {
  method: 'get',
  url: 'http://localhost:3000/login?Email=teste@gmail.com&Password=Teste123',
  headers: { 
    'Content-Type': 'application/json'
  }
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});
  • Pesquisa de Produtos
var axios = require('axios');
var data = JSON.stringify({
  "produto": "macbook",
  "id": "6336af7493c29cf8e743c6d8"
});

var config = {
  method: 'get',
  url: 'http://localhost:3000/google',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYzMzZhZjc0OTNjMjljZjhlNzQzYzZkOCIsImlhdCI6MTY2NDUyOTExN30.xVQeylU4l5mHOFEad-asYrjiSG-F4LEPSdel_3mHXrU'
  },
  data : data
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});