// Python Dev

Веб-система учёта коммунальных показаний

Опубликовано 26.03.2026

Задача клиента

Нужно было автоматизировать сбор показаний счётчиков от арендаторов: убрать бумажные передачи и звонки, дать администратору единую точку контроля, а арендаторам — простой личный кабинет.

Что было сделано

  • • Разработана веб-система с двумя ролями: арендатор и администратор, где каждая роль видит только свои данные и действия.
  • • Арендатор передаёт показания через личный кабинет, а система валидирует их по бизнес-правилам: новое значение не меньше предыдущего, не превышает допустимый скачок, принимается только в разрешённые дни месяца и один раз за расчётный период.
  • • При нарушении правил система возвращает понятную причину отказа вместо общей ошибки.
  • • Администратор управляет пользователями, договорами, счётчиками и настройками, а правила валидации настраиваются отдельно для каждого типа счётчика без правки кода.
  • • История показаний доступна с фильтрами и пагинацией, а данные выгружаются в Excel в один клик.
  • • Для адресов подключены живые подсказки через интеграцию с Dadata, а развёртывание подготовлено для production через Docker и reverse-proxy Traefik.

Результат

Клиент получил готовую систему, которая заменила ручной сбор показаний, упростила работу арендаторов и дала администратору прозрачный контроль над договорами, счётчиками и качеством данных.

Проект был про прикладную автоматизацию с жёсткими бизнес-ограничениями. Недостаточно было просто сделать форму ввода: система должна была не пропускать некорректные показания, объяснять отказ и при этом оставаться удобной для арендаторов, которые заходят в личный кабинет раз в месяц.

Отдельный акцент пришёлся на административный контур. Правила приёма показаний вынесены в настройки, поэтому заказчик может менять поведение системы без вмешательства разработчика. Это особенно важно для эксплуатации, где регламенты и типы счётчиков меняются со временем.

В результате получился не просто кабинет для ввода данных, а управляемый рабочий инструмент для учёта коммунальных показаний в production-среде.

Стек:
#Python 3.11 #aiohttp #PostgreSQL #Alembic #Vanilla JS #Bootstrap 5 #Docker

Новый запрос

Оставить заявку

Подтвердите, что вы не бот.