Installation
tilttek/quests-bundlecomposer require tilttek/quests-bundle tilttek/activity-bundle
// config/bundles.php
Tilttek\ActivityBundle\TilttekActivityBundle::class => ['all' => true],
Tilttek\QuestsBundle\TilttekQuestsBundle::class => ['all' => true],
The bundle needs PHP 8.5 or later, Symfony 8.2, Doctrine DBAL 4.5 and a clock service — FrameworkBundle registers
one. Install as well, when you need them:
phil/almanac, for quests that come back at computed dates;doctrine/orm, to add the tables to the schema the ORM generates and so todoctrine:migrations:diff;symfony/console, for the commands;symfony/twig-bundleandsymfony/translation, for the templates;phil/privacy-bundle, to export and erase a member's quests with their account.
The tables
With the ORM, doctrine:migrations:diff writes the migration that creates the five tables of the
Database. Without it, create them from QuestsTables::configure().
The projection
tilttek/activity-bundle finds the projection by its tag, tilttek_activity.projection. With its live projections,
each recorded activity advances the quests in the same request; otherwise run its catch-up command on a schedule.
After a change of rule, rebuild the projection — quests by default — from the moment the change applies.