Вводная информация

Есть базовое приложение на базе Laravel8 + jetstream/Fortify

Базовый jetstream/Fortify модернизирован. Добавил поле uuid для команд и пользователей. Все бизнес-модули переделаны с использования полей company_id на поле team_uuid, с author_id/user_id на author_uuid/user_uuid.

Задачи:

  • Если это возможно то нужно переделать всю работу блока jetstream на поле UUID а поле ID в users и teams удалить (не факт что возможно без форка, если так - отмена)
  • Опционально заблокировать добавление пользователей в личную команду.

    Сейчас у каждого пользователя при регистрации создается личная команда.

    Если требуемая опция в конфиге (для всего сайта) включена то пользователи не могут приглашать других участников в свою персональную команду. Т.е. персональные команды становятся однопользовательскими.

  • Сделать возможность приглашать пользователей которые еще не зарегистрированы в сервисе.
  • Сейчас в команду можно добавить только зарегистрированных в сервисе пользователей.

    Нужно чтобы при попытке добавить в команду email еще не зарегистрированного пользователя:

    • Выводилось сообщение что юзер еще не зарегистрирован и ему будет отправлено приглашение
    • Осуществлялась регистрация нового пользователя, он становился частью команды. В поле name (которое мы не знаем) записывается адрес электронной почты.
    • Новому пользователю отправлялось письмо-приглашение с содержимым "Вася ([email protected]) приглашает вас в команду СуперКоманда в сервисе Templateapp. Для активации вашего аккаунта перейдите по ссылке ..."
    • После перехода по ссылке (активации аккаунта) пользователю предлагается ввести свое имя/фамилию/новый пароль (старого пароля он не знает)/

      По пунктам 3-4 принимаются предложения, как это правильнее реализовать. У нас такой "приглашенный" пользователь не знает свой пароль и неправильно будет сначала его приглашать (=активировать учетку) а потом запускать процесс смены пароля с еще одним письмом на почту.

  • Уведомлять о приглашении в команду

    Фишка команд в jetstream что можно пользователей приглашать (добавлять) в разные команды. Нужно добавить чтобы когда пользователя приглашают в команду - ему приходило по почте уведомление об этом.

  • В профиле пользователя сделать список команд в которые он входит. С кнопкой Выйти из команды. С указанием является ли пользователь владельцем этой команды (если владелец то выйти нельзя). С указанием роли в команде. С ссылкой для перехода на страницу (профиль) команды.
  • Спрятать ID команд, добавить slug к командам
  • Сейчас доступ к профилю команды осуществляется через 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:

Исключительные права на результаты интеллектуальной деятельности, созданные в рамках выполнения указанных работ, включая авторские права, передаются навсегда и в полном объеме Заказчику. 

Исполнитель обязуется не раскрывать кому либо характер и состав заказанных работ, не передавать результаты работ кому либо кроме Заказчика (Казанцева Н.В.) 

5 років тому
nkazantsev
Николай 
37 років
5 років у сервісі
Був
4 роки тому

Выбранный исполнитель

alexforever1808
Алексей 
38 років
6 років у сервісі
Був
2 роки тому
5 років тому
$325
4 дня
Escrow
Алексей хорошо разбирается в фреймворке Laravel
Всегда приятно работать с постоянным заказчиком

Заявки фрилансеров

alexforever1808
Алексей 
38 років
6 років у сервісі
Був
2 роки тому
5 років тому
  • Похожие заказы

  • $10

    Необходимо разработать форму обратной связи для сайта, которая будет включать механизм подтверждения номера телефона. Форма должна быть удобной для пользователей и интегрироваться с существующим сайтом.

    Закритий
    5 років тому
  • Требуется разработчик с опытом работы с React для доработки MVP. Основные задачи включают улучшение адаптивности под мобильные устройства и добавление нового функционала. Ожидается оценка стоимости работ. Техническое задание предоставлено.

    Закритий
    5 років тому
  • Требуется провести оптимизацию скорости загрузки сайта с целью улучшения показателей до 70+/100 на сервисе Google Page Speed. Необходимы все необходимые меры для повышения производительности и уменьшения времени загрузки страниц.

    Веб-програмування1 виконавець
    Завершено
    5 років тому
  • $48

    Необходимо создать скрипт для парсинга контента с двух указанных сайтов. Задача включает извлечение данных и их структурирование для дальнейшего использования. Подход к выполнению должен учитывать особенности обоих сайтов.

    Веб-програмування1 виконавець
    Завершено
    5 років тому
  • $100

    Требуется провести базовую настройку веб-сайта В2С, посвященного лекарству, на грузинском языке. Необходимо создать заголовки страниц, теги и дополнительный контент для оптимизации в Google. Сайт собран на базе WIX-конструктора. Срок выполнения: с 11.01 по 20.01.2021.

    Веб-програмуваннянемає заявок
    Закритий
    5 років тому
  • $699

    Требуется разработка Telegram сервиса с функциями управления ботами, подпиской на каналы и статистикой. Также необходима верстка для макетов дизайна сервиса. Более детальное техническое задание прикреплено, основные функции описаны. Желаемая цена обсуждается.

    Закритий
    5 років тому
  • $150

    Требуется доработка интернет-магазина на платформе OpenCart согласно предоставленному дизайну. Необходимо реализовать верстку для мобильных и планшетных версий. Укажите примеры ваших работ на OpenCart в откликах.

    Закритий
    5 років тому