Vibe coding
Система голосования для ОСМД
Ключевые возможности:
Гибкие модели учета:
Поддержка голосования «одна квартира — один голос» или взвешенного голосования на основе площади помещения.
Гибридный формат:
Возможность совмещения электронных голосов с ручным вводом бумажных бюллетеней.
Автоматизация отчетности:
Генерация официальных протоколов в формате 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), разграничивающая права доступа к реестру жителей и удалению данных.
Файл презентации можно скачать тут
Попробовать можно по ссылкам:
Для членов огранизации
Для админов и председателя
Мотов Андрей
2026-04-30 16:30