Батырларға тағзым: мемориальный портал о героях войны

Государственный портал памяти о казахстанцах — участниках Великой Отечественной войны. Около двух лет мы сопровождали старую версию, а затем собрали портал заново на Next.js: с быстрым поиском, досье каждого героя, картой памяти и ИИ-помощником.

Клиент
Государственный заказчик, Республика Казахстан
Ниша
Национальный мемориальный портал
Срок
Около двух лет сопровождения, новая версия — май 2026
Мы сделали
Сопровождение, архитектуру, дизайн, разработку, перенос базы
Сайт
batyrlarga-tagzym.kz
Первый экран портала: заголовок «Вечная память. Досье каждого героя», поиск по фамилии и фотокарточка Бауыржана Момышулы

01 · Задача

Сайт, который ищут семьи

На портале собраны карточки казахстанцев, ушедших на фронт: ветеранов, погибших, пропавших без вести, военнопленных. Его открывают родственники, школьники и исследователи. Обычно ищут одно: фамилию деда или прадеда.

Старая версия работала на типовой PHP-CMS с плагинами. Мы поддерживали её около двух лет и упёрлись в пределы платформы: база росла, поиск замедлялся, а новые разделы плохо ложились на нишевую CMS. Заказчик решил пересобрать портал на современном стеке.

Что нужно было сделать

  • Перенести базу героев без потерь и со старыми номерами карточек
  • Найти человека по фамилии за секунды, даже с опечаткой
  • Показать судьбу, награды, фото и документы в одной карточке
  • Добавить карту памяти, боевые части и ИИ-помощника

Ограничения

  • Три языка: казахский, русский и английский
  • Только архивные данные, ничего не дописывать от себя
  • Правки и фото от семей — только через модерацию
  • ИИ-модели работают на сервере портала, а не во внешнем сервисе

02 · Исходники

От старого сайта к досье

У старого сайта был один сервер без резервной копии. Даты рождения хранились строкой, звания — то числом, то текстом, а поиск шёл по полям без индексов. По аудиту в базе было больше 602 тысяч записей, и с ростом каждый поиск становился медленнее.

Дизайн искали в два захода. Первый концепт — архивная бумага, бордовые заголовки и фотокарточки героев. Второй — досье: стена фронтовых портретов, карточка героя с сургучной печатью и папки с делами. Из него вырос первый экран нового портала.

Новый портал — монорепозиторий в Docker. Сайт на Next.js 15, API на Fastify с REST и GraphQL. Данные лежат в PostgreSQL 17, поиск по именам — в Meilisearch, фото и сканы — в хранилище MinIO. Для ИИ-помощника биографии превращены в векторы (pgvector, модель multilingual-e5), а отвечает локальная модель через Ollama.

03 · Цвет

Бордовые чернила на старой бумаге

Палитра взята с архивных документов: кремовая бумага, коричневые края, бордовые чернила и печати. Фон страниц — текстуры состаренной бумаги, поверх них полупрозрачные кремовые панели. Бордовый — единственный яркий цвет: заголовки разделов, кнопки, точки на карте и цифры.

  • Бордовый#8B2818Заголовки разделов, кнопки, точки на карте, цифры
  • Крем#F5EFE0Фон страниц
  • Бумага#FBF8F1Карточки и панели
  • Сепия#967A50Рамки и линии
  • Чернила#33332FОсновной текст
  • Стальной#3D5666Военнопленные в данных о судьбах

Без яркого красного

Приглушённый бордовый похож на чернила и печати из архива. Он выделяет главное и не превращает память в плакат.

Бумага вместо белого

Текстуры старой бумаги и кремовые панели связывают сайт с документами, которые семьи хранят дома.

У каждой судьбы свой цвет

Погиб, пропал без вести, попал в плен, вернулся — у каждого исхода свой токен. Так диаграмма судеб читается без подписей.

04 · Типографика

Антиква для имён, гротеск для интерфейса

Заголовки и имена набраны Noto Serif: строгая антиква с полной кириллицей, включая казахские ә, ғ, қ, ң, ө, ұ, ү, һ, і. На первом экране она идёт обычным начертанием, в разделах — жирным.

Пояснения и подписи разделов — курсив IBM Plex Serif, он звучит как запись от руки в деле. Кнопки, фильтры, подписи к цифрам и меню набраны Rubik: в мелких размерах он читается лучше антиквы.

Заголовки · Noto Serif 400–700

Аа Бб

Вечная память. Досье каждого героя.

Пояснения · IBM Plex Serif 400 и курсив

Аа Бб

Мы собираем биографии, фронтовые фотографии, наградные документы и судьбы казахстанцев — участников Великой Отечественной войны.

Первый экран40 → 59 px

Вечная память

Раздел30 → 36 px

Боевой путь

Карточка24 px

Награды · 3

Пояснение16 px

Семантический поиск по 605 936 биографиям.

Подпись к цифре11–14 px

получили звание Героя

05 · Компоненты

Детали архивного дела

Фотокарточки в рамках, скрепки, штампы и сургуч собирают образ папки с делом. Под ними — обычная система токенов: отступы по шагу 4 px (от 4 до 128), скругления 2, 4, 6, 8, 12 и 16 px, тени коричневого, а не серого оттенка. Цвета судеб, фон шапки и полупрозрачность карточек тоже заданы токенами.

  • Заголовок, поиск и счётчики первого экранаЗаголовок, поиск и счётчики первого экрана
  • Досье героя со скрепкой и штампомДосье героя со скрепкой и штампом
  • Карточки боевых частейКарточки боевых частей
  • Боевой путь по годамБоевой путь по годам
  • Награды в карточке герояНаграды в карточке героя
  • Диаграмма судебДиаграмма судеб

06 · Экраны

Почему страница устроена именно так

Лента досье героев с фотографиями, скрепками и штампами

Незабываемые герои

Досье вместо витрины

Под первым экраном лежат папки с делами: фото в рамке, скрепка, штамп, место рождения, часть и место захоронения. Здесь Әлия Молдағұлова, Мәншүк Маметова, Сергей Луганский и рядовые солдаты — Сейтхан Темірбаев, Сембай Қалиев. Карточки листаются лентой и ведут в каталог.

Каталог батыров: фильтры слева и сетка карточек с портретами

Каталог

1 189 251 карточка и фильтры с цифрами

Поиск по фамилии прощает опечатки. Слева — фильтры по признакам, типу, судьбе, региону, званию, награде и годам. Рядом с каждым фильтром видно, сколько записей он оставит: например, 1 978 карточек с фотографией.

Карточка героя: портрет, биография, военная служба и три награды

Карточка героя

Всё о человеке на одной странице

Биография, военная служба, награды с изображениями орденов, рассказ семьи, фотогалерея и архивные документы. Карточку можно сохранить в избранное, отправить ссылкой или скачать в PDF.

У каждой записи сохранён номер со старого сайта, поэтому прежние ссылки и обращения семей не теряются. Если родные знают больше, они предлагают правку или добавляют фото, и правка уходит модератору.

Карта Казахстана с кругами по областям: 47 тысяч, 33 тысячи, 27 тысяч героев

Карта памяти

География судеб

Карта на MapLibre собирает 605 936 батыров по областям: места рождения, призыва, гибели и захоронения, всего 3 023 точки. Крупные круги сразу показывают, откуда уходили на фронт больше всего людей.

Четыре дивизии с числом героев и хроника боевого пути с 1941 по 1945 год

Боевые части

Дивизии, сформированные в Казахстане

Пять крупнейших дивизий объединяют 15 084 героев: от Акмолинска и Алма-Аты до Берлина и Вены. Ниже — боевой путь по годам: в каких сражениях участвовали части с 1941 по 1945 год. На странице части — её путь на карте и список героев, так семья находит однополчан своего деда.

Блок ИИ-помощника с примерами вопросов к архиву

ИИ-помощник

Спросить архив обычными словами

Помощник ищет по смыслу в 605 936 биографиях: «найди героев из Жамбылской области», «опиши боевой путь 387-й дивизии». Каждый ответ опирается на конкретные карточки со ссылками. Если данных нет, помощник так и говорит, а не придумывает.

07 · Телефон

Телефон в руках у родственника

Многие ищут деда с телефона, поэтому снизу всегда есть панель: Главная, Герои, Карта, Новости, Меню. Под первым экраном — быстрые входы в ИИ-помощника, «Бессмертный полк», поиск и боевые части. Досье листаются пальцем, а карточка героя начинается с крупного портрета и имени.

Батырларға тағзым на телефоне, экран 1
Батырларға тағзым на телефоне, экран 2
Батырларға тағзым на телефоне, экран 3

08 · Итог

Что получил клиент

1 189 251
карточек в каталоге
605 936
героев на карте памяти
5 934
архивных документа
3
языка

Обсудим ваш проект?

Расскажите о задаче — предложим решение, срок и точную цену.

Астана, Казахстан · +7 700 100 08 55