Рейтинг пользователей

800 руб. за проект • электронные деньги
04 февраля 2014, 21:41 • 2 отклика • 73 просмотра
Проект на yii требуется таблица и модель для рейтингов пользователя.

Хотим видеть что то в роде карьерной лестницы, в зависимости от рейтинга можно достигать некие ступени этой лестницы, собственно в таблице, примерно, должно быть  id пользователя, его рейтинг, и идентификатор "ступени" которой он достиг (приделы выставим сами, главное что бы было удобно это сделать, и нужна возможность увеличивать эти приделы, как то прозрачно для пользователей, если вдруг слишком быстро будет достигаться ступени, то можно было увеличить пределы, не обижая пользователей которые уже достигли этих самих ступеней) пока определились что их будет 4-ре, но возможно увеличение их количества, и увлечение кол-во рейтинга для их достижения.

Рейтинг должен формироваться из активности пользователя на сайте,  добавление статей, комментариев, лайки/дизлайки этих самых статей/комментариев, его последнее прибывание на сайте, потому нужен метод в который можно было бы передать, возможно, некий вес действия и был бы пересчет рейтинга, для того что бы можно было расширять список этих самых действий.
Так же было бы не плохо иметь некие события, такие как "достижение ступени", для того что бы можно было оповестить человека приятным событием.

По поводу влияния времени отсутствия на сайте, предлагайте свои варианты решения, как вариант можно раз в день проверять по крону, кто был последний раз более чем n дней назад, тому понизить рейтинг, тут тоже нужен будет отдельный метод проверки / пересчета.

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

Ассоциации вызывает карма и рейтинг на habrahabr (инфо), то есть карма = наши ступени, рейтинг/хабрасила = наш рейтинг, в итоге рейтинг может падать, но достигнутых ступеней он не теряет.

Оплата по факту выполнения.
Жду от вас сроки, хотелось бы сразу от вас узнать общую схему работы и возможно формулы.
Спасибо.