Разработка электронной библиотеки и миграция данных с UcoZ | Rydex Solutions
Сотрудники Финансового университета при Правительстве Российской Федерации

Экаунтология — электронная библиотека истории бухгалтерского учёта

Next.js 16 React 19 PostgreSQL 16 Timeweb Cloud S3 JWT Node.js 22 PM2 Python Tiptap
Клиент
Сотрудники Финансового университета при Правительстве Российской Федерации
Разработка полного цикла
Экаунтология — электронная библиотека истории бухгалтерского учёта

О проекте

Исходная точка и технологический вызов

С 2012 года научно-исследовательский портал accountology.ucoz.ru аккумулировал уникальный, не имеющий аналогов в СНГ архив по истории бухгалтерского учета. За десятилетие проект превратился в массивную, но разрозненную базу: около 20 000 оцифрованных редких документов, биографий ученых, библиографических списков и иллюстраций. Текстовый контент был «заперт» в жестких шаблонах UcoZ, а файлы хаотично хранились на внешних облачных дисках.

Главные проблемы: критически медленная скорость работы, полное отсутствие сквозного поиска по содержимому документов, устаревший UX/UI и невозможность масштабирования. Ручной перенос такого объема данных занял бы годы работы целой команды, поэтому ключевой задачей стала абсолютная автоматизация миграции и создание современной независимой платформы.


Реализация: Роботизированный перенос данных и разработка с нуля

Мы полностью отказались от готовых конструкторов и построили современную электронную библиотеку с нуля, разделив проект на два ключевых этапа: автоматизацию конвейера данных и веб-разработку.

  1. Автоматизированный инжиниринг данных (Data Migration Pipeline)
    Для переноса гигантского массива информации были написаны кастомные Python-скрипты. Весь процесс миграции был полностью автоматизирован:
    Умный парсинг и экстракция: Скрипты автоматически обошли тысячи страниц старого сайта, выгрузили текстовый контент, очистили его от «мусорного» HTML-кода старой платформы и сохранили логическую структуру связей (автор — биография — его труды).
    Пакетная обработка и S3-интеграция: Разработан скрипт для пакетной (batch) выгрузки, валидации и автоматической заливки 19 723 файлов общим объемом 127 ГБ в изолированное масштабируемое облачное S3-хранилище.
    Автоматическая каталогизация: В процессе миграции каждому документу алгоритмически присваивались метаданные (теги, категории, даты, авторы) для формирования корректной структуры новой базы данных.

  2. Разработка веб-портала с нуля
    Параллельно с миграцией мы спроектировали и разработали современную архитектуру сайта:

  • Высокая производительность: Сайт оптимизирован под мгновенную отдачу страниц и файлов даже при пиковых нагрузках, чего невозможно было добиться на UcoZ.
  • Интеллектуальный полнотекстовый поиск: Интегрирован мощный поисковый движок, который индексирует не только названия, но и внутреннее содержимое текстовых документов, позволяя исследователям находить редкие материалы за доли секунды.
  • Личный кабинет и комьюнити-модуль: Разработана безопасная система авторизации пользователей и современный форум, превративший статичную библиотеку в живую экосистему для коммуникации и коллаборации ученых со всего мира.

Итоги проекта в цифрах

  • 0% ручного труда при переносе контента — процесс полностью автоматизирован с помощью кода.
  • 19 723 файла (127 ГБ) успешно извлечены, верифицированы и перенесены в отказоустойчивое облако.
  • В 10+ раз увеличилась скорость поиска документов и загрузки страниц.

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

Экаунтология — наука, изучающая универсальные возможности учёта. В 2012 году был создан одноимённый сайт, ставший крупнейшим русскоязычным ресурсом по истории бухгалтерского учёта. Мы продолжили дело его создателя, полностью перенеся огромный массив материалов на созданную нами с нуля новую технологическую платформу и существенно расширив функциональность: внедрили интеллектуальный полнотекстовый поиск по 20 000+ документов, гибкую ролевую модель доступа, закрытый форум Pacioli Club для исследователей, защищенный шлюз загрузки с модерацией и кастомную административную панель.

Задача

У заказчика — исследователя в области истории бухгалтерского учёта — был старый сайт accountology.ucoz.ru, созданный в 2012 году на платформе UcoZ. За годы работы на нём накопился колоссальный и уникальный объем контента, который требовалось извлечь:

  • 19 700+ файлов — сканы исторических документов, редкие книги, манускрипты, доклады (PDF, DJVU, изображения, архивы) общим объёмом 126.62 ГБ, хаотично хранившиеся на Яндекс.Диске.
  • Текстовый контент — 55 глубоких научных реплик, статьи, описание экаунтологии как науки, манифесты.
  • Персоналии — подробные биографии историков бухгалтерского учёта с фотографиями.
  • «Весёлая бухгалтерия» — более 2 085 афоризмов, пародии, а также масштабная библиография из 14 подразделов.
  • Иллюстрации — исторические изображения, портреты учёных, фотоматериалы.

Критическая проблема: Платформа UcoZ полностью перестала отвечать современным требованиям. Главными минусами стали медленная загрузка, полное отсутствие поиска по архиву, неудобная навигация и абсолютная невозможность масштабирования системы.

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

Решение

Мы отказались от готовых конструкторов и с нуля разработали высокопроизводительный веб-портал на передовом технологическом стеке Next.js 16 (React 19) и PostgreSQL 16, развернув его на производительном VPS с интеграцией облачного S3-хранилища для файлов.

Проект включает в себя следующие разработанные с нуля модули:

  • Электронная библиотека — кастомный каталог из 20 000+ документов (PDF, DJVU, сканы, архивы) с автоматической категоризацией по 14 тематическим разделам. Реализованы мгновенная фильтрация, сортировка и динамические карточки документов с превью.

  • Полнотекстовый поиск (FTS) — интеллектуальный поиск по метаданным документов на русском языке. Реализован на уровне базы данных через GIN-индексы PostgreSQL. Система работает с весовыми коэффициентами (название, автор, ключевые слова, описание), выдавая результаты за доли секунды.

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

  • Реплики — 55 научных заметок и исторических комментариев, которые были автоматически мигрированы с оригинального сайта с полным сохранением исходного HTML-форматирования и дат публикации.

  • Весёлая бухгалтерия — огромный раздел с пародиями, 2 085+ афоризмами (структурированными от А до Я) и библиографией из 14 подразделов. Для удобства разработано коллапсируемое оглавление с быстрой якорной навигацией.

  • Хронология — визуализированный таймлайн ключевых событий в истории учёта с бесшовной привязкой к конкретным документам библиотеки.

  • Pacioli Club — внутренний закрытый форум для исследователей с ветками тем, сообщениями и инструментами модерации. Доступен строго авторизованным пользователям.

  • Шлюз загрузки — защищенная форма для отправки документов внешними посетителями. Файлы автоматически попадают в изолированную очередь модерации и публикуются на сайте только после одобрения администратором.

  • Авторизация и роли — безопасная регистрация (ФИО, email, пароль) и аутентификация через JWT в HttpOnly Cookie. Настроены три роли (guest / user / admin) с разграничением прав доступа через Next.js middleware.

  • Административная панель — разработанный с нуля бэк-офис для сквозного управления документами, новостями, объявлениями, пользователями и очередью модерации контента.

Миграция данных со старого сайта

Ключевой, самый технологически сложный и полностью автоматизированный этап проекта. Чтобы исключить человеческий фактор и ускорить процесс в сотни раз, перенос всего контента с accountology.ucoz.ru на новую платформу был реализован программным путем:

  1. Роботизированный парсинг старого сайта: Были написаны кастомные Python-скрипты, которые автоматически обошли структуру UcoZ и выгрузили все текстовые сущности:
  • Реплики (55 штук) — скрипт полностью скопировал тексты, очистил их от мусорного кода UcoZ, сохранив оригинальное HTML-форматирование, даты и авторов.
  • Персоналии — автоматическое извлечение биографий, фотографий и связей с документами.
  • «Весёлая бухгалтерия» — пакетный сбор и структурирование афоризмов (А–Я), пародий и библиографии.
  • Текстовые страницы — парсинг описания экаунтологии, манифеста и рейтинга топ-50 книг.
  1. Пакетная выгрузка файлов большого объема: Все 19 723 файла (126.62 ГБ) — сканы документов, книги, изображения и архивы — были в автоматическом режиме (batch processing) скачаны через API Яндекс.Диска, прошли валидацию и были напрямую загружены в наше облачное S3-хранилище.
  2. Автоматическая структуризация и каталогизация: В ходе миграции каждый файл алгоритмически получил метаданные (название, автор, год, страна, ключевые слова), был автоматически распределен по 14 тематическим категориям и проиндексирован для полнотекстового поиска. Иллюстрации программно получили оптимизированные превью-миниатюры.
  3. Алгоритмическая верификация данных: Проведена автоматическая сверка перенесённого контента (проверка контрольных сумм файлов и связей в БД) с оригинальным сайтом, что гарантировало 100% полноту, корректность и сохранность исторического архива.

Давайте создадим что-то потрясающее вместе

Начать проект