Stack tecnológico do Teamlyzer

O Teamlyzer foi desenvolvido usando software livre na programação do seu core e serviços de terceiros para áreas complementares.

Ao nível do core foi utilizada a framework web Flask (Python), Redis para guardar notificações e informações pouco relevante ou temporárias e PostgreSQL como base de dados relacional para dados relativamente estáticos e de maior importância.

Por fim, Celery para controlar algumas rotinas da aplicação e Nginx/Gunicorn como servidores web. Nginx controla conteúdo estático como CSS ou Javascript, sendo que funciona como reverse proxy para o Gunicorn, que lida com o conteúdo dinâmico.

Quanto a serviços de terceiros, fazendo um breve resumo:

  • iwStack - para VPS KVM ($$)
  • OVH - para registo domínio / DNS ($$)
  • Yandex - para Analytics (ao contrário do Google Analytics faz Heat Maps)
  • Let's Encrypt - serviço para gerar certificados SSL
  • Gravatar - para gerar avatares
  • TOR - para bloquear nós de saída desse serviço
  • SparkPost - serviço para enviar emails
  • Google Fonts - serviço para usar determinadas fontes no site
  • Google Places API - serviço para identificar localizações
  • HPE Haven OnDemand - apenas utilizado para análise de sentimento nas avaliações
  • CDNJS - serviço de cdn para bibliotecas de JS
  • Facebook - avaliações quando aprovadas são difundidas na página do Teamlyzer
  • IFTTT - automatiza a difusão das avaliações para o Twitter
  • buffer - serviço necessário para automatizar difusão das avaliações para o LinkedIn

Os únicos serviços pagos estão identificados e são o iwStack e OVH.

A título de curiosidade, estão a ser usados dois servidores Debian, um para Portugal e outro para o Brasil, cada com 1.5GB de ram, 2 vCPU e 10GB SSD. O servidor está num datacenter em Milão, Itália.