Ключевые возможности:
Этот проект демонстрирует, как современные облачные технологии могут сделать управление жильем честным и доступным для каждого жителя.
Технологический стек:
Технические вызовы:
- Гибкие модели учета: Поддержка голосования «одна квартира — один голос» или взвешенного голосования на основе площади помещения.
- Гибридный формат: Возможность совмещения электронных голосов с ручным вводом бумажных бюллетеней.
- Автоматизация отчетности: Генерация официальных протоколов в формате PDF с соблюдением требований к защите персональных данных (маскировка ФИО).
- Многоязычность: Полная поддержка украинского и русского интерфейсов.
Этот проект демонстрирует, как современные облачные технологии могут сделать управление жильем честным и доступным для каждого жителя.
Технологический стек:
- Frontend: React + Vite + Tailwind CSS — быстрый адаптивный UI (react-router, lucide-icons).
- Backend: Python (FastAPI) — собственная аутентификация (argon2id + JWT), мультиарендность, логика кворума по площади, генерация PDF-протоколов (ReportLab) и проверка КЭП-подписей (asn1crypto). Драйвер — psycopg3
- База данных: PostgreSQL (self-hosted на VPS) — хранение данных и изоляция клиентов через Row-Level Security (RLS).
- Инфраструктура: свой VPS, Nginx, systemd, CI/CD (GitHub Actions), wildcard-TLS, мультитенантность через поддомены.
Технические вызовы:
- Алгоритм кворума: Реализация динамического расчета весов голосов в зависимости от настроек каждого опроса.
- PDF-генерация: Создание кастомного движка на Python для формирования протоколов с поддержкой кириллицы и автоматическим форматированием таблиц итогов.
- Безопасность: Иерархическая ролевая модель (Admin/Chairman), разграничивающая права доступа к реестру жителей и удалению данных.