Клиент — девелоперская компания, выходящая на рынок недвижимости ОАЭ (Дубай и Абу-Даби). Команде нужно было единое место, где руководство и аналитики смотрят отчёты по рынку: цены, продажи, аренда, земельные участки, воронка сделок.
Было три проблемы:
1. Отчёты Power BI требовали у каждого зрителя платный аккаунт Microsoft — неудобно раздавать доступ партнёрам.
2. Открытые государственные данные о недвижимости (миллионы строк о сделках, договорах аренды и застройщиках) приходилось скачивать и обрабатывать вручную.
3. Доступ к отчётам нужно выдавать выборочно: каждый пользователь видит только то, что ему назначено.
Задача: разработать веб-портал «под ключ» — от архитектуры и базы данных до интерфейса и деплоя на сервер клиента.
Спроектировал и разработал портал целиком (backend, frontend, база данных, инфраструктура):
— Галерея отчётов с корпоративным брендингом и темами оформления. Отчёты открываются прямо в браузере — зрителям не нужны аккаунты Microsoft. Собственный движок отрисовки страниц отчётов: карты проектов, графики цен и продаж, воронки, KPI-плитки.
— Ролевой доступ: администраторы и зрители, группы пользователей, назначение отчётов конкретным людям. Вход по email с подтверждением или через Google / Яндекс / Microsoft.
— Модуль «Данные ОАЭ»: портал сам реплицирует государственные датасеты недвижимости в свою базу (сделки, аренда, застройщики, проекты, адреса, участки — миллионы строк). Таблица с фильтрами (включая вложенные условия И/ИЛИ), сортировкой, настраиваемым порядком колонок, мультиязычными полями и сохраняемыми профилями.
— Выгрузка любого среза в Excel/CSV. Генерацию больших Excel-файлов ускорил нативным модулем на Rust — примерно в 4 раза быстрее на таблицах в сотни тысяч строк.
— Загрузчик данных устойчив к сбоям: инкрементальные обновления, контрольные сверки полноты, чекпоинты для продолжения после обрыва.
— Экспорт отчётов в PDF, загрузка собственных Excel-источников с мастером импорта, редактирование записей прямо в интерфейсе.
— Админ-панель: пользователи, группы, доступы, логи, настройка брендинга без перезапуска, мониторинг сборки отчётов.
Стек: Python (FastAPI), PostgreSQL, React + TypeScript, Rust, Docker, nginx.
Портал работает в продакшене на сервере клиента. Команда и партнёры смотрят отчёты в браузере без лишних аккаунтов и лицензий: открыл ссылку — увидел свой набор отчётов.
Аналитики получают свежие государственные данные автоматически: база сама обновляется по расписанию, сверяет полноту и позволяет выгрузить нужный срез (например, все сделки по району за период) за пару минут вместо ручной возни с сырыми файлами.
Доступы управляются в пару кликов: новый сотрудник или партнёр получает ровно те отчёты, которые ему положены. Обновление системы — одной командой.