Спроектировать и реализовать сервис коллектор, который периодически забирает события по ISAPI с терминалов:
HTTPS + Digest аутентификация, фильтрация по номеру события, надёжная пагинация и идемпотентность.
Экспоненциальный backoff при сетевых ошибках/таймаутах и сохранение последней точки (checkpoint) для безошибочного возобновления выборки.
Обработка ошибок устройств, в том числе Invalid Content (валидация схемы под модель/прошивку).
Реализовать прикладную логику:
Применение паттернов рабочего времени по объектам.
Расчёт присутствия, опозданий, перерывов;
Разработать административный веб интерфейс и отчётность: отчёты с гибкой настройкой параметров, включая тепловые карты.
Обеспечить эксплуатацию и безопасность:
Деплой на Ubuntu LTS (рекомендуется 22.04).
Логирование, мониторинг, документация.
Технологическая среда:
ОС: Ubuntu LTS (22.04 предпочтительно).
Веб сервер: Apache HTTP Server 2.4 + mod ssl (TLS/HTTPS).
База данных: PostgreSQL 15/16+.
Интеграции: ISAPI с Digest аутентификацией, HTTPS.
ДЛЯ НАС ВАЖНО:
Опыт коммерческой разработки на Python (Django или FastAPI);
знание PostgreSQL: умеете проектировать индексы (особенно для интервальных типов), работали с партиционированием таблиц по датам, оптимизируете медленные запросы;
Опыт с асинхронностью и очередями: Redis + Celery (настройка воркеров, мониторинг, обработка ошибок);
Понимание работы с часовыми поясами (timezones): знаете, чем naive отличается от aware, как хранить время в UTC и корректно преобразовывать в локальное время объекта;
Опыт написания интеграционных модулей (HTTP API, работа с вендорскими SDK);
Уверенное владение Git, понимание CI/CD.
Мы предлагаем:
Возможность реализации своих идей и профессионального развития в команде единомышленников;
Работу в крупной, динамично развивающейся компании;
Размер оплаты за проект обсуждается индивидуально с каждым кандидатом;