Проекты проекты проекты проекты проекты проекты
Некоторые из проектов являются коммерческими(NDA)
И исходный код не может быть опубилкован на github
Starline Lite
- Год: 2022
Garmin, monkey C, rest, watch, flaskПриложение для работы с автосигнализацией Starline. Показывает статус авто, открывает и закрывает машину. Также для корректной авторизации создано прокси апи на python-flask, так как API сигнализации вместо токена возвращает cookie не поддерживаемые на устройстве. Написано на Monkey C.
Ad Notify Manager
- Год: 2022
python, django-rest selenium, docker, telegramНовая генерация системы уведомления о новых объявлениях. Система состоит из трех частей: веб интерфейс, модули парсинга, модули уведомления. Веб интерфейс позволяет конфигурировать настройки парсеров, подписчиков и удобно распределять запросы между модулями парсинга (инстансами). Модули парсинга запускаются на сервере или удаленном устройстве, выполняют получение данных и отправляют на сервер. Получение данных осуществляется несколькими способами: прямым запросом, прокси или QueryCommunicator. Обработка данных (парсинг) использует Selenium и Firefox. Подсистема уведомления рассылает полученные объявления в нужные каналы или подписчикам (например в телеграм). Такое разделение позволяет менять отдельные модули (например смена алгоритма парсинга), и расширять систему в случае новых источников данных.
QueryCommunicator
- Год: 2021
python, django, django-rest, docker, docker compose, c++-17Система распределённых запросов позволяет проксировать целевые запросы и выполнять их через удалённые устройства. Провайдер (любое внешнее приложение ) делает запрос к серверу query communicator (например HTTP.GET) и ожидает выполенения. Сервер создаёт новое событие для нод (удалённых клиентов), клиенты получают и понимают тип команды, выполнять запрос и сырой ответ отправляют серверу. Провайдер получает данные и обрабатывает. Ноды это простейшие клиенты написание на python и c++-17 которые запускаются на роутерах (кросс компиляция, и отсутствие зависимостей), микрокомпьютерах и других встраиваемых устройствах и имеют динамические ip, и потребляют минимальные ресурсы. Таким образом запросы от провайдеров могут выполнятся одновременно через множество сетей, что обеспечивает нам обход блокировок. Система имеет авторизацию по bearer токену с правами и удобную админку на django
AvitoBot
- Год: 2018-2021
python, selenuim, telegram, Raspberry piСайт avito.ru является лидером по размещения объявлений в регионах. Для людей которые часто занимаются покупкой и продажей авто, важно получать актуальную информацию о новых объявлениях. Авито бот регулярно выполняет парсинг сайта, анализирует новые объявления и присылает уведомления в телеграм новым клиентам. Сложных контент сайта выполняет Selenium и Firefox. Для обхода блокировок используется прокси сервера (не очень эффективно), проект QueryCommunicator и запуск локального проекта на Raspberry Pi. В этом случае проект работает с динамическим IP и минимальным количеством запросов (только для клиента)
Bitmexbot
- Год: 2020
python, websocket, rest api, telegram, dockerКрипто биржи предоставляют отличное api для торговли роботами. Сложность торговли определяет алгоритм. В данном проекте мы не используем алгоритмы торговли, мы копируем сделки с целевого аккаунта на slave. Используя алгоритм репликации стратегии с нужными коэффициент в зависимости от баланса на счёте. Получая моментальные данные через websocket с целевого аккаунта, мы гарантируем быструю работу копирования. Пилотный проект был протестирован на крупной бирже.
OPC Server UA (open source)
- Год: 2018-2019
С#, ASP Core (web api), RabbitMQКомпания ПСС занималась разработкой систем для терминалов самообслуживания. Одной из частей системы является OPC Server. Ядро сервера распространяется в nuget пакете собраного разработчиками open-source проекта. Наша команада занималась разработкой дополнительных модулей. Web api для удобного доступа, сохранение и загрузка узлов в долговременоое хранилище. Синхронизация изменений, оптимизация производительности, а также запуск на разных ос и с разными источниками данных. Многие базовые методы были расширены и оптимизированы. При этом сохранялась полная совместимость с оригинальной веткой и регулярно обновлялось ядро. В результате сервер отлично справлялся с множеством запросов и имел быстрый отклик, а также сохранил первоначальные протоколы доступа. Наш OPC Server использовался во многих продуктовых решениях.
Склад. ТСД Сlient\Server
- Год: 2016
C#, WCF, SOAP, Sqlite, Oracle DatabaseАвтоматизация учета металла на складе включает в себя разработку программного обеспечения для терминала сбора данных. ТСД - это мобильные устройства с встроенным сканером штрихкода. Устройства позволяли исключить ручной ввод данных, моментально получать информацию о единице учета, проводить инвентаризацию и другие производственные задачи. Клиент для устройства был написан на C# .NET Compact 3.5 и общался с сервером SOAP. На производстве существует множество помех для устойчивого wifi сигнала, поэтому терминал умел работать в офлайн режиме. Регулярно обновляя встроенную базу данных (sqlite), в которой хранилось до 100к единиц учета и атрибутов, а также буферизируя операции работа для пользователя была незаметна даже при пропадании сети. Система была внедрена на крупное металлургическое предприятие.
DataScales
- Год: 2014 - 2015
С++, Oracle Database, Moxa NPort 5150Система сбора информации с весоизмерительных устройств и контроллеров. Сбор информации осуществлялся при подключении к весам медиа конвертора Moxa NPort в RS232 разъем, и последующем транслировании данных в сеть TCP/IP. А также подключение весов в сеть через встроенных Ethernet разъёмы и последующий реверс инжиниринг проприентарного протокола. Система анализировала входные сигналы и формировала историю провесок, а также ретранслировала сырые данные для системы слежения металла или мониторинга на удаленном компьютере. Программное обеспечение было успешно внедрено на нескольких производства крупных металлургических компаний.