Тестовое задание: https://docs.google.com/document/d/1Bbn2gk4Ftx0wciDpPTl0Tg-Ke1lZs25rI1C-mA42cZI/edit?usp=sharing
Можно было реализовать все в одном бандле, но тогда система отслеживания будет зависима от конфигурации FOSUserBundle на который она будет устанавливатся. Выбрал вариант с двумя бандлами, где бандл трекинга польностью независим от конфигурации установленного FOSUserBundle.
Реализация задания состоит из двух бандлов:
Бандл отвечает за часть задания, которое связано расширение формы регистрации (FOSUserBundle).
В форму регистрации / профиль добавлены поля Firstname и Lastname поле Username убрано из формы (используется поле Email) Включено подтверждение регистрации через email
Бандл реализовывает отслеживание, сохранение статистики, генерацию кодов.
Может быть подключен в любой проект использующий FOSUserBundle в любой конфигурации!
Данные сохраняются независимо от FOSUserBundle (используется Doctrine ORM)
Есть страница со статистикой текущего пользователя и простейший тест
Отвечу на вопросы если актуально.
Оформить бандл трекинга для возможности установки через composer