Не очень нужная, но мотивирующая геймификация процесса. То, зачем я все эти дни открывая вместе с треккером еще и репозиторий, даже если мне не нужно совершать с ним какие-либо действия. Чтобы увидеть в каике дни я не зря сидел, в какие дни мое хобби, моя работа отразилась в графике.
Делать после активности по проекту, задача будет собирать с неё данные. Создавать отображения стоит сразу и для пользователя (по всем проектам с его участием), так и для проекта, с участием всех пользователей соответственно.
Бек здесь несложный. Суммировать количество активностей по дням, а дни разить по группам по неделям. Гораздо сложнее нарисовать это на фронте. Так же чтобы не пересчитывать стоит это сразу кешировать, причем при переходе даты пересчитывать только прошедшую и текущую.
При расчете яркости квадратов необходимо учесть, что выбросы с очень большим числом активностей очень редки, т.е. градация должна быть не равномерная (max - min) / 5, а экспоненциальная. Каждая следующая градация требует вдвое большее количество активностей. (лучше вынести в коэфициент и подобрать, может быть лучше будет выглядеть 1.3 или 2.4)
Зависит от tndt-11