Сделать форму обратной связи для сайта с подтверждением номера телефона.
Доработка админки Jetstream/Fortify
Вводная информация
Есть базовое приложение на базе Laravel8 + jetstream/Fortify
Базовый jetstream/Fortify модернизирован. Добавил поле uuid для команд и пользователей. Все бизнес-модули переделаны с использования полей company_id на поле team_uuid, с author_id/user_id на author_uuid/user_uuid.
Задачи:
- Если это возможно то нужно переделать всю работу блока jetstream на поле UUID а поле ID в users и teams удалить (не факт что возможно без форка, если так - отмена)
- Опционально заблокировать добавление пользователей в личную команду.
Сейчас у каждого пользователя при регистрации создается личная команда.
Если требуемая опция в конфиге (для всего сайта) включена то пользователи не могут приглашать других участников в свою персональную команду. Т.е. персональные команды становятся однопользовательскими.
- Сделать возможность приглашать пользователей которые еще не зарегистрированы в сервисе.
- Выводилось сообщение что юзер еще не зарегистрирован и ему будет отправлено приглашение
- Осуществлялась регистрация нового пользователя, он становился частью команды. В поле name (которое мы не знаем) записывается адрес электронной почты.
- Новому пользователю отправлялось письмо-приглашение с содержимым "Вася ([email protected]) приглашает вас в команду СуперКоманда в сервисе Templateapp. Для активации вашего аккаунта перейдите по ссылке ..."
- После перехода по ссылке (активации аккаунта) пользователю предлагается ввести свое имя/фамилию/новый пароль (старого пароля он не знает)/
По пунктам 3-4 принимаются предложения, как это правильнее реализовать. У нас такой "приглашенный" пользователь не знает свой пароль и неправильно будет сначала его приглашать (=активировать учетку) а потом запускать процесс смены пароля с еще одним письмом на почту.
- Уведомлять о приглашении в команду
Фишка команд в jetstream что можно пользователей приглашать (добавлять) в разные команды. Нужно добавить чтобы когда пользователя приглашают в команду - ему приходило по почте уведомление об этом.
- В профиле пользователя сделать список команд в которые он входит. С кнопкой Выйти из команды. С указанием является ли пользователь владельцем этой команды (если владелец то выйти нельзя). С указанием роли в команде. С ссылкой для перехода на страницу (профиль) команды.
- Спрятать ID команд, добавить slug к командам
Сейчас в команду можно добавить только зарегистрированных в сервисе пользователей.
Нужно чтобы при попытке добавить в команду email еще не зарегистрированного пользователя:
Сейчас доступ к профилю команды осуществляется через teams/[id]. Нужно переделать на teams/[slug]. Соответственно добавить в таблицу teams поле slug, сделать его генерацию при создании и изменении (переименовании) команды. Не использовать eloquent-sluggable. Ниже пример кода для генерации слагов (добавляется в модель).
public function setSlugAttribute($value)
{
$this->attributes['slug'] = $this->generateUniqueSlug($value);
}
private function generateUniqueSlug($value)
{
$temp = Str::slug($value, '-');
if(!Assettype::all()->where('slug',$temp)->isEmpty()){
$i = 1;
$newSlug = $temp . '-' . $i;
while(!Assettype::all()->where('slug',$newSlug)->isEmpty()){
$i++;
$newSlug = $temp . '-' . $i;
}
$temp = $newSlug;
}
return $temp;
}
Установка
git clone https://github.com/NKazantsev/templateapp5.git
Добавить каталоги
storage\app\
storage\app\public
storage\framework\
storage\framework\cache\
storage\framework\logs\
storage\framework\sessions\
storage\framework\testing\
storage\framework\views\composer update
npm install
npm run prod
В .env указать свою БД и почтовый сервер
php artisan migrate
Зарегистрироваться, пройти активацию (для этого укажите свои параметры в env для mailtrap)
NDA:
Исключительные права на результаты интеллектуальной деятельности, созданные в рамках выполнения указанных работ, включая авторские права, передаются навсегда и в полном объеме Заказчику.
Исполнитель обязуется не раскрывать кому либо характер и состав заказанных работ, не передавать результаты работ кому либо кроме Заказчика (Казанцева Н.В.)
Выбранный исполнитель
Похожие заказы
- $10Веб-программирование2 заявкиЗакрыт4 года назад
Добрый день. Ищем сотрудника, который владеет react . Мы сейчас находимся на доработке MVP версии для запуска. Есть потребность доделать пару моментов связанных с адаптивом под мобильную версию и исправлению добавлению нового функционала. тз ...
Веб-программирование3 заявкиЗакрыт4 года назадНужно оптимизировать сайт по скорости загрузки ссылаясь на сервис Google Page Speed. Сейчас у сайта не самые лучшие показатели. Нужно добиться 70+/100. Сайт - https://www.justmustard.com/
Веб-программирование1 исполнительЗавершен4 года назад- $48
Сайты скинул в личку
Веб-программирование1 исполнительЗавершен4 года назад Нужно сделать приложение для тач стола на Unity. Приложение с небольшой анимацией и навигацией по разделам. Вся графика готовая, сделана на Figma. Работа срочная не отвечайте, если сразу не можете взяться.
Веб-программирование1 заявкаЗакрыт4 года назадНужно подсказать, как вытащить с сайта canvas. Ссылку скину потенциальному помощнику.
Веб-программирование2 заявкиЗакрыт4 года назад- $100
Необходима базовая настройка веб-сайта В2С, посвященного лекарству. Сайт собран на базе WIX-конструктора. Моноязычный (грузинский язык). Необходимо создать заголовки страниц, теги и весь другой доп.контент для внедрения в Гугл-пространство. Срок проекта: ...
Веб-программированиенет заявокЗакрыт4 года назад - $699
Необходимо создать Сервис который будет включать в себя следующие функции. Управление ботами подписка на канал и просмотров постов. Создание эффекта активности аккаунта случайные диалоги и подписки на рандомные каналы. Статистика количества ботов, ...
Веб-программирование1 заявкаЗакрыт4 года назад - $150
Добрый день! требуется доработать интернет магазин на опенкарт согласно дизайну, верстка мобильной и планшетной версии скину все в ЛС, прошу в откликах указывать примеры ваших работ на опенкарт
Веб-программирование6 заявокЗакрыт4 года назад