уведомления в реальном времени
Тут, скорее всего, подойдут сокеты.
администратор мог добавлять новые сообщения
Нужно как-то разделять обычного юзера и админа. Например, добавить в таблицу юзеров в БД булево поле
is_admin, и в коде проверять значение.
Это первые пришедшие в голову варианты, но далеко не единственные. В зависимости от текущей реализации, они могут отличаться.