Архитектура модуля уведомлений на основе системы событий:
Конечно, мы можем хранить обработчики событий в разных модулях, как правило, в тех же модулях, где они вызываются. Но с ростом количества модулей или всего проекта в целом, триггеры и обработчики событий будут разбросаны в разных местах. Это сильно осложнит поиск ошибок в событиях и отладку приложения.
Чтобы в них не запутаться нам нужно обработчики событий переместить в один единственный модуль app\modules\events. Он легковесный и будет запускаться раньше всех остальных модулей, что позволяет триггерить события на более ранних этапах загрузки приложения, например, в методах "beforeAction".
Конечно, в идеале, в обработчиках событий указать классы и методы, которые запускают данное событие, и методы, которые могут это событие отключить (вызвать метод "off"). Тогда при отладке событий не будет проблем.
- 3 дня: создание стандартного модуля пользователей с нуля (CRUD, регистрация, роли), crudActions.js - CRUD-библиотека, использующая модальные окна (чтобы все было ajax-ом).
- пол-дня: модуль новостей
- пол-дня: модуль событий
- 3 дня: модуль уведомлений (notifications) на основе событий
- 3-4 часа: readme и uml-диаграмма