Визуализация стажа сотрудников (Project WorkLife)
[powershell |
frontend |
llm
]
Abstract
Делаем визуализатор стажа сотрудников компании на основе доступных данных. Минимум ручного труда, максимум вайбкодинга.
Introduction
Несколько лет назад я наткнулся на BugLife — визуализацию жизни багов для GitHub, ещё какое-то время спустя придумал свою идею. Но во фронтенде я не слишком разбираюсь, и поправить реализацию руки так и не дошли.
А недавно взял Cursor и за пару вечеров навайбкодил. Почти всё получалось с первого раза, кроме лоадера, который пришлось переделывать раз пять.
Methods
Проект состоит из двух частей. Первый — для получения данных, второй — для их визуализации.
Источник данных
Источник может быть любым — Битрикс, 1С, БД, да хоть руками json пиши — главное, чтобы на выходе был список людей с датой приёма и увольнения. В относительно больших конторах таким источником обычно выступает Active Directory, я написал скрипт для неё, для остальных несложно сделать тоже самое.
.\Export-From-AD.ps1 "OU=Users1,DC=Company,DC=Com","OU=Users2,DC=Company,DC=Com"
По умолчанию файл — ad-data.json. Имя файла с данными задаётся в config.json, чтобы можно было подставить свой без правки кода.
Для каждого объекта в AD сохраняются имя, отдел, должность, дата создания учётки, признак активности и последний логон. Отключённые пользователи определяются по disabled в Distinguished Name — грубо, но эффективно.
Визуализация
Визуальную часть я почти не трогал, слегка подправив в соответствии с новой схемой данных.
Сайт статический, можно раздавать любым веб-сервер, например так:
python -m http.server 8000
Results
Примеры на синтетических данных.
По отделам:

По сотрудникам:

Интересные чиселки:

Проект лежит здесь, локальный, офлайновый, статический, никаких облаков и серверов. Если добавите свои коннекторы, PRs are welcome.