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