← All work
Tooling · 2012–14

Activity-Timeline Symfony2 Bundle (Open-Source Fork)

Overview

A Symfony2 bundle that builds activity timelines and walls for any entity, plus an unread-notification system. This is the author’s own packaged distribution (gecaalin/SnTimelineBundle) of a Spy/TimelineBundle-lineage timeline engine, maintained as the activity-feed layer powering the companion social-network project.

Why It Exists

“Walls”, activity streams and notification counters are a recurring need across social products. Packaging that logic as a reusable, driver-agnostic Symfony bundle let it be dropped into applications and configured rather than rebuilt each time.

What We Built

A symfony-bundle (Spy\TimelineBundle namespace) exposing the timeline engine with pluggable persistence drivers, Doctrine ORM, Doctrine MongoDB ODM and Redis, plus filters, Twig integration, console commands to spread/deploy timelines, and an unread-notification API (count, mark-one/mark-all read). Ships with a Travis CI config and atoum unit tests.

Technologies & Approach

PHP/Symfony2 framework-bundle with stephpy/timeline at its core, an options-resolver-based configuration surface, and a driver abstraction so the same timeline logic runs over SQL, MongoDB or Redis depending on deployment needs.

Outcome / Impact

Provided the production activity-feed and notification subsystem for the author’s social-network application, demonstrating the ability to factor cross-cutting functionality into a clean, testable, open-source-style Symfony bundle.

Capabilities Demonstrated

  • Authoring reusable, configurable Symfony2 bundles
  • Designing activity-feed and notification engines
  • Abstracting persistence across ORM, ODM and Redis drivers
  • Maintaining CI and unit-test coverage for library code
More work See all →