Econovia

O projeto Econovia é um comparador de preços focado em produtos eletrônicos de grandes marcas e lojas confiáveis. A principal motivação do cliente para a criação do projeto foi criar uma plataforma que ensinasse os consumidores a fazerem melhores compras. Para isso, seria fundamental que fosse fácil de usar, tivesse informações atualizadas e somente informações de qualidade, o que não acontecia nos concorrentes.

A base do sistema é o desenvolvimento de scrapers (robôs de captura de dados) para diversas lojas possibilitando a captura de informações de produtos e preços de maneira totalmente automatizada. A plataforma é flexível para que o administrador possa configurar da maneira como desejar a escalabilidade dos robôs e controle o intervalo de tempo que a captura dos preços deve ser efetuada.

Também é possível configurar todas as categorias e filtros para que os usuários possam buscar produtos no site. Atualmente o sistema conta com mais de 15 lojas para captura de produtos e produtos dos mais variados tipos.

Desafios

Modularidade e flexibilidade nos scrapers

Desenvolvemos uma solução modular que permite de maneira fácil e ágil adicionar mais uma loja no sistema desenvolvemtno um scraper específico por loja mas que utiliza uma estrutura básica compartilhada entre todos. Desta maneira, caso seja necessário realizar uma manutenção em algum scraper decorrente de alteração em alguma loja é necessário alterar apenas os módulos referentes àquela loja específica, facilitando e agilizando muito o processo.

Robôs inteligentes: análise do tempo de captura por loja e paralelismo

O tempo de cada requisição para cada loja é monitorado para que o sistema decida se deve parar a captura de produtos de uma loja por um determinado tempo garantindo que o sistema como um todo não fique lento devido a um atraso na resposta de apenas uma loja. Além disso todo o trabalho é paralelizado permitindo que diversos produtos sejam atualizados simultaneamente.

Inteligência artificial

Produtos similares de diferentes lojas são analisados e agrupados em um mesmo produto de acordo com uma análise das informações capturadas como nome, preço e categoria.

Esquema de dados diferenciado

Utilizamos mais de um tipo de banco de dados no sistema e a arquitetura foi desenvolvida visando a alta performance do sistema para suportar o grande volume de dados capturado pois são armazenados não somente os produtos de cada loja, mas também o histórico de preços de cada um.

O sistema de filtros é customizado por categoria e desenvolvemos uma solução que fosse fácil e eficiente tanto para o administrador quanto para os usuários que buscam produtos.

Busca Textual (full text) 

A busca nos produtos é feita com uma tecnologia especial para busca textual, que permite busca por nomes similares para retornar corretamente produtos caso o usuário erre a grafia de um produto ou marca. Seno também capaz de sugerir produtos similares e assim retornar resultados mais inteligentes.

Versão Mobile

O sistema possui uma versão específica para navegação em celulares com uma interface bem similar a de uma aplicativo nativo mas sem que seja necessário um download por parte do usuário.

Execução

A equipe da Codus Tecnologia atuou dando ideias inovadoras, definindo as funcionalidades básicas, conceito e detalhando as regras de negócio do projeto. Com base na especificação inicial da plataforma foi executado o processo de elaboração da arquitetura da informação, design e implementação do sistema.

Todo o desenvolvimento ocorreu de maneira flexivel e com entregas parciais (scrum) permitindo que o cliente utilizasse o sistema em poucas semanas de desenvolvimento e já pudesse conferir os resultados.

A primeira versão do projeto foi entregue em 2012 e desde então vem evoluindo com a inclusão mensal de novas lojas e funcionalidades.

Destaques

  • Foco somente em produtos de qualidades
  • Atualização dos preços a cada 20 minutos
  • Somente lojas confiávels
  • Filtro altamente eficiente
  • Histórico de preço médio por produto
  • Histórico de preço mínimo por produto
  • Versão Mobile
  • Scraping Automático de Produtos
  • Sistema de cache para melhorar eficiência do servidor

Tecnologias

  • Ruby on Rails
  • Twitter Bootstrap
  • MongoDB
  • Apache Solr (busca textual, full text)
  • Angular JS
  • Redis
  • Cloud Computing
  • Heroku

Veja mais cases