Мы в Telegram
Добавить новость
103news.com
Работа
Сентябрь
2020

Добавить к сайту Laravel интерактивные уведомления

0
К существующему сайту на Laravel с bootstrap, jquery, livewire нужно добавить функционал уведомлений.
Использовать livewire для интерактивности на фронте и Laravel Notifications для создания/управления уведомлениями.
Уведомления должны создаваться системой из различных контроллеров и job'ов. Храниться в БД.
Появляться должны в ~ реальном времени если у пользователя открыт сайт:
1) в меню уведомлений и
2) в всплывающем окне через pNotify (уже встроен)

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

Меню уведомлений:
В верхнем меню сайта добавить кнопку уведомлений - Колокольчик.
На кнопке уведомлений показывать badge с количеством непрочитанных сообщений (интерактивно меняется если кол-во изменилось).
По нажатию на кнопку появляется выпадающее окно/меню с непрочитанными уведомлениями.
Важно: livewire не должен грузить список непрочитанных уведомлений каждые 5 секунд при обращении к серверу, только кнопку с кол-вом уведомлений. Подгрузка списка уведомлений осуществляется при наведении мыши на кнопку. Показ списка (меню уведомлений) при нажатии на кнопку.
Показываются последние 10 непрочитанных уведомлений.
У каждого уведомления в списке показывается дата создания (через Carbon в формате "3 часа назад") и текст уведомления. Текст уведомления может содержать ссылку куда либо. Справа от уведомления кнопка X по нажатию на которую уведомление скрывается из списка и становится прочтенным.
Внизу списка уведомлений ссылка "Еще", ведущая на страницу уведомлений /notifications
Вверху списка кнопка "Пометить все как прочитанное", отмечающая все показанные в окне уведомления как прочитанные и подгружающая новые непрочитанные уведомления. Если непрочитанных уведомлений больше нет - окно скрывается.
Выглядеть появляющееся окно с уведомлениями должно примерно так:

Создание уведомления
Должна быть возможность создания уведомлений с заданным текстом из любого контроллера или выполняемой по расписанию задачи laravel. Что то вроде notification::add($user_id, $text).

Страница уведомлений
На странице /notifications выводить список всех уведомлений пользователя с pagination и 2 чекбоксами readed/unread чтобы пользователь по умолчанию видел только непрочитанные уведомления но мог посмотреть так же прочитанные. Так же добавить кнопки "Пометить все как прочитанное" и "Прочитано" у каждого уведомления.
Подгрузка данных, пагинация и все кнопки реализуются через livewire без перезагрузки страницы.

Прочтение уведомления:
Уведомление становится прочитанным если
1. Пользователь нажал "Отметить все как прочитанное" или "Прочитано" для конкретного уведомления в окне с списком уведомлений или на странице /notifications
2. Если пользователь перешел по ссылке в уведомлении (добавлять что то вроде ?notify=12354 к ссылке)

В приложении есть модели/контроллеры/CRUD для 2 видов объектов - posts и products
Для демонстрации работы настроить появление уведомлений при создании объектов в posts и products с ссылками на созданные объекты.

Даем доступ к репозиторию на github и, если надо, VDS серверу с приложением.
Результаты нужно будет оформить коммитом в репозиторий.




Губернаторы России
Москва

Собянин сообщил об открытии Мемориальной квартиры Пушкина





Москва

Медиа съезжают последними // «Газпром» завершает перевод структур из Москвы в Санкт-Петербург


Губернаторы России

103news.net – это самые свежие новости из регионов и со всего мира в прямом эфире 24 часа в сутки 7 дней в неделю на всех языках мира без цензуры и предвзятости редактора. Не новости делают нас, а мы – делаем новости. Наши новости опубликованы живыми людьми в формате онлайн. Вы всегда можете добавить свои новости сиюминутно – здесь и прочитать их тут же и – сейчас в России, в Украине и в мире по темам в режиме 24/7 ежесекундно. А теперь ещё - регионы, Крым, Москва и Россия.

Moscow.media
Москва

Собянин: На Арбате после реставрации открывается мемориальная квартира Пушкина



103news.comмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "103 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. 103news.com — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

103news.com — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.

Музыкальные новости

Тимати

Тимати о возможном возращении Starbucks в Россию: "Мы лучше"




Спорт в России и мире

Алексей Смирнов – актер, которого, надеюсь, еще не забыли

Педагоги школы №2065 вошли в ТОП-5 лучших туристских команд Москвы

Ученики школы №1354 одержали победу в финале Московской спартакиады молодежи допризывного возраста

Спортсменка Росгвардии установила рекорд в командном спринте на «Гран-при Санкт-Петербурга»


Ролан Гаррос

Мирра Андреева впервые вышла в четвертьфинал турнира Большого шлема



Новости Крыма на Sevpoisk.ru


Москва

Медиа съезжают последними // «Газпром» завершает перевод структур из Москвы в Санкт-Петербург



Частные объявления в Вашем городе, в Вашем регионе и в России