Primăria Vatra
Госсайт уровня банка: 417 страниц без единого нарушения доступности и обращения граждан онлайн.
- Клиент
- primariavatra.md
- Город
- Ватра, мун. Кишинёв
- Год
- 2026
- Статус
- Работает

Задача
Примэрия работала на WordPress с плагинами. Новый сайт обязан соответствовать закону: доступность для людей с ограничениями (HG 728/2023), публикация решений и бюджета, сроки ответа на обращения по Административному кодексу. Нужно было перенести 166 документов и сотни старых адресов и дать сотрудникам безопасную админку.
Решение
Мы спроектировали систему из четырёх независимых частей (сайт, API, админка, инфраструктура) с единым OpenAPI-контрактом. Сверстали готовый макет 1:1 и добавили всё, чего в нём не было: мобильную версию, состояния, правовые страницы, поиск. Админку с ролями, 2FA, ревизиями и автопостингом в Facebook построили с нуля.
Наша роль: Дизайн сайта — не наш: макет Figma получен готовым, мы сверстали его 1:1. Наша работа — архитектура, разработка сайта, API, админ-панели и инфраструктуры. Админку оформили сами.
Экраны проекта
Что мы сделали
Публичный сайт
- Новости, объявления, события, услуги с бланками, городской совет, «Прозрачность»
- Реестр документов с поиском, фильтрами по категории и году
- Обращения граждан с регистрационным номером и сроком ответа по закону
- Виджет спецвозможностей по HG 728/2023: контраст, шрифт, курсор, навигация
- Три языка с локализованными адресами, RSS, поиск, карта сайта
- Защита форм ALTCHA без сторонних сервисов и cookie
Админ-панель
- Вход: пароль, обязательная 2FA и резервные коды
- 5 ролей и матрица прав «тип контента × действие»
- Редактор с вкладками RO/RU/EN и отметками «нет перевода»
- История версий с построчным сравнением и откатом
- Отложенная публикация, предпросмотр, черновики переживают перезагрузку
- Раздел обращений: исполнители, сроки, просрочка, продление по закону
- Автопостинг новостей и событий в Facebook с фото и видео
API
- NestJS на Fastify: 277 операций, 59 таблиц PostgreSQL
- Жизненный цикл записи: черновик → проверка → публикация → архив
- Полнотекстовый поиск на трёх языках с учётом опечаток
- Медиа: антивирус ClamAV, очистка EXIF, пересборка PDF, видео до 4 ГБ
- Слаги RU по ГОСТ 7.79, автоматические 301 при смене адреса
Безопасность и инфраструктура
- Уровень OWASP ASVS L2: Argon2id, проверка паролей по утечкам, CSRF, строгий CSP
- Журнал аудита только на добавление — правка запрещена на уровне БД
- Docker, мониторинг Prometheus/Grafana/Loki, алерты в Telegram
- Бэкапы restic с ежемесячной проверкой восстановления
- ≈400 тестов API, 228 тестов сайта, e2e в двух вьюпортах
Результат
У примэрии собственный стек без зависимости от WordPress: контент ведут сотрудники через админку с ролями и 2FA.
Граждане подают обращения онлайн и получают регистрационный номер, а сроки ответа отслеживаются автоматически.
Сайт проходит автоматический аудит доступности axe на всех 417 страницах без нарушений.
312 старых адресов переведены 301-редиректами, документы перенесены без потерь.
Публикации автоматически дублируются в Facebook примэрии.
Стек
Интеграции

Хотите так же?
Расскажите о задаче — за 24 часа вернёмся с решением, сроками и планом запуска.