← All work
Product · 2014–15

Location Heatmap API (Silex Microservice)

Overview

The backend microservice powering the WAVE location heatmap. Built on the Silex PHP micro-framework, it aggregated and served the location/check-in data consumed by the navodariro Angular heatmap front end.

The Challenge

The heatmap UI needed a small, fast HTTP service to collect and return geolocation data points, without the overhead of a full Symfony application.

What We Built

A Silex (silex/silex ~1.0) service composed from Symfony components (Yaml, Config, Security, Validator), Doctrine ORM via the dflydev service provider, a Facebook service provider for social login/data, Twig for any rendered output, and Monolog for logging. Routing lived in config/routes.yml, application bootstrap in application.php, with custom code under src/Gc. The repo shipped a PuPHPet-generated Vagrant + Puppet environment (including a bundled phpMyAdmin) for one-command local setup.

Technologies & Approach

PHP Silex chosen for a minimal, route-centric microservice; Doctrine ORM for persistence to MySQL; Facebook provider for social context; Vagrant/Puppet for reproducible provisioning. The micro-framework kept the geo API lean and deployable.

Outcome / Impact

Provided the live data layer behind the WAVE heatmap, validating a micro-framework approach for a focused geospatial API and showing comfort with both heavyweight (Symfony) and lightweight (Silex) PHP stacks.

Capabilities Demonstrated

  • Building lean REST microservices on the Silex micro-framework
  • Geospatial data aggregation and serving
  • Facebook / social-login integration in PHP
  • Reproducible PHP environments with Vagrant + Puppet (PuPHPet)
More work See all →