Есть еще ExtJs. Мне нравится. Использовал. Есть куча сэмплов. Быстро можно сделать прототип.
Но в целом, некоторые вещи, которые вы хотите, не совсем касается фреймворков для реализации SPA. Например:
2) Авторизация и разделение пользователей по ролям - отдельно реализуется проверка на стороне сервера. Далее уже в зависимости от прав проверяется возможность выполнения какого либо метода API + скрыть\показать элементы интерфейса.
3) Различные уведомления о новых событиях (пришла почта, менеджер спустил задачу, приближается срок выполнения и т.п.) - это реализуется опять таки частично на сервере, частично на клиенте. Только клиентский фреймворк не поможет. Вообще используют либо LongPooling, либо, что лучше, WebSocket. Либо вообще фреймворк, который позволит абстрагироваться от собственно способа оповещения клиента.
А вообще ReactJs - круто. Очень быстро. Но это только фреймворк для реализации UI, не более. Flux - это подход, который просто описывает то, кто с кем и как взаимодействует. Да, удобно для ReactJS, но не панацея.