BotTime
PWA-система учёта рабочего времени + Telegram Mini App
Корпоративная система контроля рабочего времени сотрудников с PWA-интерфейсом, Telegram Mini App, системой ролей, аналитикой, уведомлениями и QR-регистрацией начала и завершения смены.
Задача
Компании требовался учёт рабочего времени, который нельзя обмануть скриншотом или повторным сканированием, при этом с удобным интерфейсом для сотрудников и полной картиной для администратора.
Решение
Спроектировал PWA-приложение и Telegram Mini App с общим backend на FastAPI. Отметка смены проходит через одноразовый QR-код с коротким TTL, который отображается отдельным Windows-приложением с защитой от копирования экрана. Роли и права пользователей разграничены на уровне API.
Основные возможности
- Начало и завершение рабочей смены через QR-код
- Одноразовый QR-код, обновление каждые 2 секунды
- Защита от повторного использования кода
- Windows-приложение для безопасного отображения QR
- Расписание чётной / нечётной недели
- Заявки на изменение графика с согласованием
- Роли пользователей: admin, superuser, сотрудник
- Статистика: опоздания, переработки, неявки
- Web-push и Telegram-уведомления
- Excel-отчёты по графику, сессиям и дисциплине
- Автоматическое закрытие сессий
- Корректная обработка смен через полночь
Security Engineering
В проекте проверялись сценарии подмены токенов, SQL-инъекций и другие варианты некорректного взаимодействия с системой.
Интерфейс

