Система организации измерений для геодезистов

Функциональность

Веб-система для сбора и анализа данных геотехнического мониторинга: осадки деформационных марок, уровни грунтовых вод в гидрологических скважинах, инклинометрия и термометрия скважин.

Парсеры RTF-отчётов Кредо ДАТ (через LibreOffice RTF конвертируется в DOCX, затем разбирается таблица) и CSV-файлов инклинометров. Разбор файлов и пакетная генерация графиков идут в фоновых задачах с уведомлением по email. Администраторский интерфейс управления проектами, объектами и измерениями.

Ролевая модель: суперпользователь, администратор, оператор.

В SPA-клиенте интерактивные графики и сводные таблицы деформаций с цветовой индикацией превышения порогов. Экспорт таблиц в Excel и выгрузка графиков архивом PNG.

Применение ML для построения прогнозных трендов.

Роль в разработке

Полностью самостоятельная разработка.

Стэк технологий

Python, Django, DRF, Celery, Redis, PostgreSQL, Plotly, Kaleido, python-docx, openpyxl, LibreOffice (headless), Vue 3, Pinia, Vue Router, Vite, Pug, SASS, Nginx, uWSGI, Fabric, Pandas, Scikit-Learn

Интересные моменты

- Аналитические запросы на оконных функциях через Django ORM: последнее измерение марки за месяц (ROW_NUMBER с партиционированием по месяцу и марке) и осадка относительно базового цикла (FIRST_VALUE). Выборка последней версии измерения на дату сделана коррелированными подзапросами.
- Графики описываются один раз: конфигурация Plotly хранится в БД в JSON. По ней один и тот же график рисуется в браузере через plotly.js и на сервере через Python и Kaleido в PNG для архивов.
- Конвейер разбора файлов: RTF → DOCX → таблица → валидация формата → импорт в БД. Работает в фоне через Celery, его же можно запустить из консоли как management-команду.
- Vite встроен в Django: свои шаблонные теги и команда runserver_vite для dev-режима с HMR.
- Деплой одной командой через Fabric
- Применение элементов ML для построения трендов

Даты разработки
Январь 2026 - март 2026