Экаунтология — электронная библиотека истории бухгалтерского учёта
О проекте
Исходная точка и технологический вызов
С 2012 года научно-исследовательский портал accountology.ucoz.ru аккумулировал уникальный, не имеющий аналогов в СНГ архив по истории бухгалтерского учета. За десятилетие проект превратился в массивную, но разрозненную базу: около 20 000 оцифрованных редких документов, биографий ученых, библиографических списков и иллюстраций. Текстовый контент был «заперт» в жестких шаблонах UcoZ, а файлы хаотично хранились на внешних облачных дисках.
Главные проблемы: критически медленная скорость работы, полное отсутствие сквозного поиска по содержимому документов, устаревший UX/UI и невозможность масштабирования. Ручной перенос такого объема данных занял бы годы работы целой команды, поэтому ключевой задачей стала абсолютная автоматизация миграции и создание современной независимой платформы.
Реализация: Роботизированный перенос данных и разработка с нуля
Мы полностью отказались от готовых конструкторов и построили современную электронную библиотеку с нуля, разделив проект на два ключевых этапа: автоматизацию конвейера данных и веб-разработку.
-
Автоматизированный инжиниринг данных (Data Migration Pipeline)
Для переноса гигантского массива информации были написаны кастомные Python-скрипты. Весь процесс миграции был полностью автоматизирован:
Умный парсинг и экстракция: Скрипты автоматически обошли тысячи страниц старого сайта, выгрузили текстовый контент, очистили его от «мусорного» HTML-кода старой платформы и сохранили логическую структуру связей (автор — биография — его труды).
Пакетная обработка и S3-интеграция: Разработан скрипт для пакетной (batch) выгрузки, валидации и автоматической заливки 19 723 файлов общим объемом 127 ГБ в изолированное масштабируемое облачное S3-хранилище.
Автоматическая каталогизация: В процессе миграции каждому документу алгоритмически присваивались метаданные (теги, категории, даты, авторы) для формирования корректной структуры новой базы данных. -
Разработка веб-портала с нуля
Параллельно с миграцией мы спроектировали и разработали современную архитектуру сайта:
- Высокая производительность: Сайт оптимизирован под мгновенную отдачу страниц и файлов даже при пиковых нагрузках, чего невозможно было добиться на 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 на новую платформу был реализован программным путем:
- Роботизированный парсинг старого сайта: Были написаны кастомные Python-скрипты, которые автоматически обошли структуру UcoZ и выгрузили все текстовые сущности:
- Реплики (55 штук) — скрипт полностью скопировал тексты, очистил их от мусорного кода UcoZ, сохранив оригинальное HTML-форматирование, даты и авторов.
- Персоналии — автоматическое извлечение биографий, фотографий и связей с документами.
- «Весёлая бухгалтерия» — пакетный сбор и структурирование афоризмов (А–Я), пародий и библиографии.
- Текстовые страницы — парсинг описания экаунтологии, манифеста и рейтинга топ-50 книг.
- Пакетная выгрузка файлов большого объема: Все 19 723 файла (126.62 ГБ) — сканы документов, книги, изображения и архивы — были в автоматическом режиме (batch processing) скачаны через API Яндекс.Диска, прошли валидацию и были напрямую загружены в наше облачное S3-хранилище.
- Автоматическая структуризация и каталогизация: В ходе миграции каждый файл алгоритмически получил метаданные (название, автор, год, страна, ключевые слова), был автоматически распределен по 14 тематическим категориям и проиндексирован для полнотекстового поиска. Иллюстрации программно получили оптимизированные превью-миниатюры.
- Алгоритмическая верификация данных: Проведена автоматическая сверка перенесённого контента (проверка контрольных сумм файлов и связей в БД) с оригинальным сайтом, что гарантировало 100% полноту, корректность и сохранность исторического архива.