Разработка UserBundle под Symfony 3.4 (LTS)
Важно: бандл не должен быть на основе FOSUerbundle. Он должен быть написан лично Вами.
Для понимания: Далее речь пойдет о каркасе бандла. Не нужно делать никакого оформления и тд, достаточно просто голых форм.
Функции:
1. Страница логина (входа) с функцией "запомнить меня". (логин/пароль)
2. Страница регистрации (с подтверждением регистрации через email).
Поля:
-никнейм (уникальный, чтобы использовать как токен для страницы профиля)
-пароль
-почта
-номер моб. телефона.
В сущности юзера не должны быть canoncal fields как у FOSUserbundle.
Для шифрования пароля использовать Argon2.
3. Страница профиля и его редактирование.
Попасть на страницу профиля (своего или другого пользователя) можно по ссылкам: site .ru/id и site .ru/token
Страница профиля состоит из:
-автара
-никнейма
- статуса: онлайн / оффлайН + когда был последний раз онлайн
-дата рождения, если она указана (+возможность её указать, если находишься в своём профиле)
-пол, если указан (+возможность его указать, если находишься в своём профиле)
- текстовое поле, в котором пользователь может коротко описать себя. (+возможность его заполнить, если находишься в своём профиле).
4. Страница восстановления пароля (с подтверждением через почту)
Таким образом имеются две основные сущности: юзер и профиль.
сущность юзера:
-id
-password
-phone
-username
-дата создания
-дата обновления
-группа (пользователи будут принадлежать разным группам. Вам не нужно реализовывать этот функционал и просто оставить поле например с одной единственной группой.)
Сущность профиля:
-аватар
-пол
-дата рождения
-краткая информация о себе (текстовое поле)
Если Вы регулярно разрабатываете сайты на Symfony, то скорее всего у Вас уже есть подобный бандл. В таком случае Вы можете предложить его, но укажите что в нём присутствует из вышеперечисленное, что отсутствует, и какие ещё функции уже реализованы (доп. функции возможно будут полезны).
Прошу указывать:
1. Предварительные сроки, стоимость и форму оплаты.
2. Плюсом будут примеры реализации Вашего бандла на сайтах, которые Вы разрабатывали.
Постараюсь ответить на все встречные вопросы.