dobrovolskiy.com
EN
← все проектывеб · 2026

Сайт кампании с запечатанными обязательствами

Самостоятельно размещаемый сайт кандидата с темами оформления, публичные обещания которого запечатаны хэшем SHA-256.

Сайт предвыборной кампании кандидата в депутаты с серверным рендерингом, построенный на встроенном SQLite Node 22 с Express и Multer в качестве единственных зависимостей.

Сайт кампании с запечатанными обязательствами

Сайт предвыборной кампании кандидата в депутаты с серверным рендерингом, построенный на встроенном SQLite Node 22 с Express и Multer в качестве единственных зависимостей.

Владелец управляет страницами, публикациями, галереей, сообщениями и настройками из админ-панели; ключевая функция — Реестр обязательств, где каждое опубликованное обещание запечатывается хэшем SHA-256, который посетители могут перепроверить в браузере, так что правки задним числом становятся заметны.

Три полноценные визуальные темы (деловая, манифест в стиле швейцарской типографики, винтажная газета) по-разному оформляют одну и ту же семантическую разметку, а живая строка на SSE показывает число посетителей онлайн, обратный отсчет до выборов и обновления реестра.

Что умеет

  • Админка: страницы с облегченным markdown, обязательства с хронологией статусов, публикации с тегами, галерея, входящие сообщения, настройки
  • Неизменяемые запечатанные обязательства с проверкой хэша в браузере и чисто JS-фолбэком для HTTP
  • Система тем (в духе CSS Zen Garden): переключатель для посетителя с сохранением в cookie, тема по умолчанию в админке, горячая подгрузка папок тем
  • Живая строка на SSE: посетители онлайн, обратный отсчет, счетчик сообщений, уведомления об обновлении реестра
  • Без сборки, один процесс; бэкап = один файл SQLite + папка загрузок

Реальный клиентский сайт, сданный за несколько дней без этапа сборки и с двумя npm-зависимостями; криптографическая функция подотчетности; три полных редизайна через темы. Фотографии в репозитории — клиент (публичное лицо); в портфолио использовать только логотипы, без портретов.

Нужно что-то похожее?

Делаю это вживую на звонке в Zoom / Яндекс Телемост, вы смотрите на экран, таймер останавливается по вашему слову. Первые 15 минут бесплатно.

Ещё проекты

Каталог светильников FOURLEDSЕдиный источник данных о продукции FOURLEDS: публичный каталог, генератор печатных PDF, API для остального ПО семейства, ИИ-помощь с контентомСайты управляющих компаний (мультитенантные)Два сайта тюменских управляющих компаний, перенесенные с DotNetNuke 8 в единую мультитенантную кодовую базу на Next.js с полной миграцией контентаFixit: учет дефектов для выездных бригадДоска задач на Python без зависимостей с фото, историей, сообщениями и PDF-отчетами для выездных бригад