Мониторинг активности юзера в админ-панели в виде тайм-лайна! //?
Детали такие:
Админка магазина, куда заходят работники каждый под своей учетной записью.
Сейчас пока только регистрируется время первого входа в рамках суток, но этих данных мало и вот пришла идея сделать шкалу активности пользователя за день.
Как пример результата: временная шкала в плеере у яндекс-вебвизора. Сам плеер конечно не нужен, только шкала с цветными секторами, где каждый цвет заранее предопределен и соответствует определенному типу активности/не активности.
Набросал пока такие заметки:
1. Разграничить активность по типам событий (в порядке увеличения "веса" события):
- простой/бездействие: отсутствие каких либо событий в течении ~2 мин.
- средняя активность: клик или движение мыши
- высокая активность: нажатие кнопок на клавиатуре. По таймауту в ~2 мин. считать активность завершенной.
2. На прямую писать в базу думаю будет конечно очень затратно по ресурсам (а может и нет, хз), поэтому думаю данные в json сначала будут в localStorage собираться, а потом, например с интервалом в 5-10 мин этот "пакет" уже в таблицу БД будет уходить.
3. В таблице думал хранить это в виде 1 запись = активность определенного пользователя за день (в формате serialize(phpArray))
Вот такое пока придумал... И собственно хотел посоветоваться, может кто-то подобное делал или подскажет как лучше организовать структуру массива для хранения данных или я не вижу в своем "плане" каких-то "подводных камней" или вообще может я не туда начал думать, или еще что полезного...
UPD Как для такой задачи - подключать и зависить от каких-то готовых сервисов я не буду это точно.