Веб приложение для взаимодействия с платформами wialon и csp по api
| assets | ||
| compose.yaml | ||
| README.md | ||
Warning
ВАЖНО
Код данного проекта не может быть опубликован в соответствии с NDA.
В репозитории представлено описание функциональности и скриншоты интерфейса.
Веб приложение для взаимодействия с платформами Wialon и CSP по api
Содержание
Цели
Оптимизация работы отдела технической поддержки:
- Автоматизация массовых операций с объектами в Wialon и CSP
- Массовое обновление полей объектов из .xlsx
- Импорт истории для одного и группы объектов без внешних инструментов
- Поиск дубликатов на других серверах
- Автоматическое создание ЛК клиента и выдача прав
- Админ-панель для управления пользователями и доступом
Ключевые возможности
- Веб приложение работает во внутренней сети компании, доступ извне закрыт.
- Доступ пользователям предоставляется путём создания пользователя в админ панели.
- Для взаимодействия с сервисами Wialon и CSP используется Wialon API и CSP API
- Для обновления данных на серверах необходимо приложению отдать подготовленный
.xlsxфайл - Для импорта истории сообщений передаются файлы с расширением
.wlp/.zip, файлы должны находиться в директории на ПК - Результат выполнения любого из инструментов отображается в отчёте на сайте, в том же окне, где был запущен сервис. Также отчёт дублируется на почту.
- При запуске любого из инструментов можно закрыть вкладку или браузер, скрипт выполняется на сервере.
Стек технологий
- Приложение использует версию Python 3.12 и выше
- aiohttp - для асинхронных запросов
- celery, redis - для фонового выполнения задач
- requests - для синхронных запросов
- numpy, openpyxl, pandas - обработка Excel-файлов: чтение, запись, преобразование в
JSON/словари - sqlalchemy - для взаимодействия с БД
- flask (flask-bootstrap, flask-ckeditor, flask-login, flask-sqlalchemy, flask-wtf, werkzeug) - сервер и маршрутизация, шаблонизатор html и т.д.
- flask-login - аутентификация и сессии
- python-dotenv - для загрузки в переменные окружения данные из файла
.env - loguru - для логирования приложения
- black, pylint, pytest, ruff - тестирование, линтеры, форматирование стиля кода
Развёртывание
Приложение разворачивается в Docker с помощью Docker Compose, используется Celery + Redis для фоновых задач, Flask как веб-сервер. Файл compose.yml доступен в репозитории
Демонстрация работы
Страница авторизации
Не верный пароль
Не верный логин
Основная страница, сайдбар
Администрирование, список страниц
Управление пользователями (самописная админка)
Изменить данные пользователя
Изменить группу пользователю
Изменить пароль
Скачать логи
Пример логов
Админка с объектами (flask-admin)
Рисковые объекты
Wialon, массовый импорт
- Файлы с историей находятся в выделеной директории сетевого хранилица внутренней сети
- Для запуска необходимо














































