ShipKit Access
Учёт рабочего времени для терминалов Hikvision на своём сервере
Турникеты и терминалы ставите вы, а программу учёта поверх них мы уже написали. Терминалы присылают проходы, система считает по ним табель, включая ночные смены и суточные дежурства. Сотрудники видят свои отработанные часы в Telegram. Вы получаете исходный код (Bun, Elysia, Next.js) и разворачиваете систему у себя. Собрано на ShipKit: авторизация, админка и деплой достались от него.
Что умеет
От прохода до табеля
Терминалы сами присылают проходы
Каждый проход терминал отправляет на один адрес API под логином и паролем. Если сеть что-то потеряла, фоновая сверка каждые 15 минут забирает недостающее с самого терминала. Оба пути пишут в одну таблицу без дублей, поэтому повторы и пропуски ничего не ломают.
Устройства за одним интерфейсом
Код системы получает из фабрики объект AccessDevice и работает с терминалом через его методы: список пользователей, добавление или обновление, удаление, события по курсору, разбор push-запроса. Сейчас адаптер для реальных терминалов один: Hikvision ISAPI. Для нового производителя нужны отдельный пакет, новый case в фабрике и строка в union-типе, а общие контрактные тесты покажут, когда адаптер готов.
Графики не только с девяти до шести
Кроме фиксированного графика есть гибкий, сменный с переходом через полночь и суточные дежурства. Дежурство целиком засчитывается в тот день, когда началось. Опоздания, ранние уходы, переработки и неявки считает одна чистая функция, которую можно прочитать за вечер и сверить со своими правилами.
Оператору консоль, сотруднику Telegram
В веб-консоли оператора есть сотрудники, табель, отсутствия, графики, устройства, журнал событий и выгрузка в Excel. Сотрудник открывает мини-приложение в Telegram и видит только своё: день, месяц и итоги. Экраны учёта времени в обоих приложениях есть на русском и английском. Служебные экраны (журнал аудита, вебхуки, настройки) и подписи в выгрузке Excel только на английском.
Ваш сервер и ваша база
Всё работает на одном Linux-сервере: PostgreSQL с TimescaleDB, Redis и четыре юнита systemd за nginx. Облака вендора и телеметрии нет, платы за рабочие места тоже. В инструкции по установке написано, как проверять результат по ходу дела.
До покупки оборудования
Посмотреть можно без турникета
В репозитории есть симулятор терминала. Он реализует тот же интерфейс AccessDevice, что и адаптер Hikvision, и общие контрактные тесты прогоняются на нём в CI. Одна команда создаёт схему базы, заливает историю за три недели и запускает генератор, который по настоящим часам проводит виртуальных сотрудников через виртуальные двери.
bun install
cp .env.example .env # настройки по умолчанию подходят для docker compose
docker compose up -d --wait # PostgreSQL и Redis
bun run demo # схема, история за три недели, генератор проходов
bun run dev # в отдельном окне: консоль на :3023, API на :3021, мини-приложение на :3025Утром сотрудники приходят, вечером уходят, а ночью и в выходные генератор простаивает. Дашборд заполняется, дни закрываются, и табель сходится. Модель учёта можно разобрать на этих данных и ещё до закупки железа решить, подходит ли она под то, как у вас считают рабочий день.
Чего система не делает
Где проходит граница
- Лица система не распознаёт. Это делает сам терминал. Система хранит фото сотрудника, загружает его на все активные терминалы и записывает события, которые они присылают. Про биометрические данные в репозитории есть отдельный документ: что хранится, куда передаётся, когда удаляется и что решает оператор.
- Сертификатов нет. Это исходный код, который вы разворачиваете сами. Пожарная безопасность, трудовое право и защита персональных данных в вашей стране остаются за вами.
- Сейчас поддерживается только Hikvision. По ISAPI, плюс симулятор. ZKTeco и других производителей нет. Слой устройств сделан так, чтобы второго производителя можно было добавить пакетом, не переписывая систему. Но адаптер под него придётся написать самим или попросить нас.
Что входит в покупку
Лицензия с разовой оплатой
- Полный исходный код: REST API, консоль оператора, мини-приложение в Telegram, фоновый воркер
- Слой устройств без привязки к производителю, с адаптером Hikvision ISAPI
- Симулятор терминала, чтобы оценить систему без оборудования
- Модель учёта времени: фиксированный, гибкий и сменный графики, суточные дежурства
- Табель, отсутствия, карточки сотрудников, выгрузка в Excel
- Экраны учёта времени на русском и английском, плюс инструкция, как добавить другой язык
- Инструкция по установке на сервер: systemd, nginx, TLS и чек-лист перед запуском
- AI-скиллы для Claude Code, правила для Cursor и AGENTS.md
- Доступ к приватному репозиторию на GitHub и все будущие обновления
- Сколько угодно своих продуктов и приложений, в том числе коммерческих
Нужен просто бойлерплейт, без турникетов? ShipKit стоит $149.