Python-система уведомлений о заказах: FastAPI, WebSocket и Windows .exe

Ссылка на работу
image
Разработал систему срочных уведомлений о новых заказах для сети розничных магазинов. Событие из МойСклада через webhook поступает на сервер и доставляется на компьютер нужной торговой точки. Внедрено в эксплуатации: семь торговых точек используют Windows-клиент, серверный контур работает на VPS. Техническое решение: • FastAPI принимает webhook и пропускает только заказы с нужным статусом; • склад сопоставляется с торговой точкой через конфигурацию без хранения токенов в коде; • сервер доставляет событие по защищённому WebSocket-каналу с отдельной авторизацией каждой точки; • heartbeat и автоматическое переподключение обнаруживают обрыв связи; • приложение PyQt6 показывает полноэкранное окно, включает сирену и открывает заказ по кнопке; • подтверждения доставки и версия клиента поступают обратно на сервер; • фоновые проверки восстанавливают пропущенные события, а проблемы отправляются в служебные уведомления. Архитектура: FastAPI на VPS, WebSocket push, Windows-клиент PyQt6/PyInstaller, CI/CD через GitHub Actions, Nginx и systemd. Результат: новый заказ автоматически попадает на нужный компьютер без постоянного ручного контроля учётной системы. Разделение точек, восстановление соединения и наблюдаемая доставка снижают риск пропустить заказ при сетевом сбое. Технологии: Python 3.12, FastAPI, PyQt6, PyInstaller, WebSocket, httpx, Pydantic, Nginx, systemd, GitHub Actions, МойСклад API.