Case Study

Plataforma de KPI para corretores de imóveis profissionais

Gestora de Projeto a reunir com a equipa para decidir as próximas entregas da plataforma de KPI

Cliente

 

162x185_logo_imovirtual 1

 

Indústria
  • Tecnologia
  • Fundada em 2011, em Portugal
  • Faz parte do grupo OLX e é reconhecida como uma das marcas líderes no setor
  • Mais de 300.000 imóveis em Portugal

Desafio
  • Este projeto teve como objetivo desenvolver uma plataforma de KPI para fornecer uma melhor experiência de utilizador aos corretores de imóveis profissionais e agregar as informações mais importantes para os mesmos em tempo real.

Solução

Do ponto de vista arquitetural, o principal desafio foi criar uma estrutura capaz de lidar com enormes volumes diários de dados, mantendo a sua integridade e resiliência, uma vez que existe uma janela horária muito pequena para recuperar esses dados em caso de desastre.

A solução adotada passou pela utilização do Microsoft Azure Data Factory, programado para ingerir os dados em bruto e transformá-los posteriormente por duas vias:

  • Envio de parte dos dados para o banco relacional Azure SQL Server;
  • Envio dos restantes dados para o banco não relacional Azure Cosmos DB.

No entanto, essa foi apenas uma parte do desafio. Para a aplicação responder às expectativas e controlar tal volume de dados, estes precisariam de atingir uma elevada velocidade ao serem disponibilizados ao cliente final no front-end. Essa velocidade foi atingida através do uso de técnicas como cache em memória.

A política de cache tem em consideração que, após o utilizador aceder pela primeira vez, grande parte dos seus dados fica disponível em memória e todos os acessos posteriores não necessitam da base de dados, tornando a resposta altamente eficiente.

Do ponto de vista de segurança, o Imovirtual possui regras rigorosas de acesso e validação. Para a entrega deste projeto em produção, foram realizados testes de penetração e a solução foi adequada às políticas de segurança, através da utilização de cofres de segurança para armazenar segredos, senhas e conexões ao banco de dados.


Números importantes da solução

  • Importação de dados diários: 800,000 registos
  • Total de dados armazenados: 250,000,000
Nota: as importações diárias são volumosas em relação ao total de dados armazenados, porém muitas tabelas são esmagadas diariamente e recriadas. Por este motivo, o total armazenado não é proporcional às importações diárias.

Metodologia

Foi utilizada a metodologia Scrum.


Tecnologias

  • NET6
  • Microsoft Azure Cloud
  • Microsoft Azure Cosmos DB
  • Microsoft Azure SQL Server
  • Microsoft Azure Data Factory V2
  • Microsoft Azure Key Vault
  • Microsoft Azure Storage Account

Resultados

Os corretores de imóveis profissionais têm agora ao seu dispor uma plataforma completa onde podem visualizar todas as estatísticas dos seus anúncios.

Trata-se de uma análise detalhada assente em indicadores e gráficos de dados históricos, permitindo a tomada de decisões com base no desempenho. É ainda possível obter o histórico dos pagamentos e investimentos, assim como relatórios oficiais do mercado imobiliário por região.


Tempo e recursos

Projeto de 3 meses. A equipa envolvida incluiu:

  • Gestor de Projeto
  • Quality Assurance (QA) Engineer
  • 1 Developer de Back-end
  • 1 Developer de Front-end
  • 1 Líder Técnico

Arquitetura macro

Arquitetura macro 1

Arquitetura macro 2

 


Imagens da aplicação

Página inicial:

Página inicial

Performance por anúncios:

Performance por anúncios

Performance global:

Performance global

Investimentos em destaque:

Investimentos em destaque

Qualidade global de anúncios:

Qualidade global de anúncios

Pagamentos:

Pagamentos