Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Dashboard — Аналитика СТО
> ! Названия подразделений в этом описании вымышлены. Структура, логика, отчеты и объемы данных — оригинальные.
Описание
Аналитическая платформа для сети автосервисов: 27 отчетов с интерактивными графиками, автоматический ETL из Google Sheets, динамические фильтры. Данные обновляются автоматически по расписанию, графики рендерятся на клиенте через Chart.js.
Стек: Django 5.1+ / Python 3.13 / PostgreSQL 15 / Redis / Celery Beat / Docker / Bootstrap 5.3 / Chart.js
Объем данных
Таблица
Наряды СТО
Продажа авто
Подобовая статистика
Розница запчастей
6 активных подразделений, 69 марок авто, 38 регионов. 27 Google-таблиц как источники данных (~20 000 строк на файл нарядов). Средняя стоимость наряда: работа 6 500 грн, запчасти 6 700 грн.
27 реализованных отчетов
- Оперативка: работа СТО и продажа авто по дням
- Динамика: нормочасы, заезды, запчасти (кол-во/грн)
- Чек: без гарантии, без других услуг (мойка, шиномонтаж, стекло и т.д.), % варианты
- Нормочасы: по видам работ, по маркам, чужие СТО
- Год выпуска: по месяцам/годам, динамика парка
- Регионы: региональная структура клиентов
- Дополнительные: выручка, гарантия vs коммерция, топ марок, рейтинг подразделений
Ключевые фичи
- Автоматический ETL: Celery Beat синхронизирует Google Sheets → PostgreSQL, dedup по SHA-256 хешу строки
- Динамические фильтры: мультиизбор подразделений, год, регион, марка, год выпуска, валюта (грн/$) — без перезагрузки
- 27 графиков: bar, stacked-bar, line, stacked-bar-100, сводные таблицы
- KPI-карточки: средний чек, динамика по сравнению с предыдущим годом
- Аудит нарядов: модальное окно с расписанием причин исключения из знаменателя
- Сложенный режим: сворачивание малых подразделений в «Вместе»
- Админка: django-unfold. Безопасность: login_required, RBAC
Архитектура
apps/
├── core/ — модели, роли, миграции
├── dashboard/ — 27 отчетов, API, фильтры
│ └── services/ — 13 модулей агрегации
├── ingest/ — ETL: Google Sheets → БД (4 типа источников)
└── rates/ — курсы валют
Сложности
1. Нормализация справочников: данные из 1С содержат разные написания названий — построена система канонических псевдонимов
2. Дедупликация: append-only листы без natural key → upsert по хешу
3. Бизнес-логика отчетов: многоуровневые исключения (гарантия → ППП → «другие услуги»), AND-логика core-работы
4. Двойной лист: 2 листа файла (основной + розница ЗЧ) обрабатываются отдельно
5. Производительность: SQL-индексы, аннотированные запросы, select_related
Инфраструктура
Docker Compose: PostgreSQL, Redis, Django (Gunicorn), Celery Worker + Beat, Nginx. Развертывание: docker compose up -d. Продакшн за Apache reverse-proxy, Whitenoise для статики.
Детали работы
Бюджет 90 000 UAH
Добавлена 23 июня
11 просмотров
Фрилансер
Виталий Мациборка
Украина Мукачево  15  0

Свободен для работы Свободен для работы
15 Сейфов завершены
На сервисе 8 лет