Экаунтология — электронная библиотека истории бухгалтерского учёта
О проекте
У заказчика был научно-исследовательский сайт accountology.ucoz.ru, созданный в 2012 году на платформе UcoZ. За годы работы на нём накопился уникальный архив по истории бухгалтерского учёта: почти 20 000 оцифрованных документов, биографии учёных, научные реплики, афоризмы, пародии, библиография и иллюстрации. Все файлы хранились на Яндекс.Диске, а текстовый контент - на страницах UcoZ.
Платформа перестала отвечать современным требованиям: медленная загрузка, отсутствие поиска по архиву, неудобная навигация. Нам было необходимо выгрузить всю информацию со старого сайта — все файлы, текстовый контент, иллюстрации, биографии - и перенести, структурировать на новой современной платформе.
Мы разработали полнофункциональный веб-портал с нуля, автоматизировали миграцию данных через Python-скрипты, пакетно загрузили 19 723 файла в облачное S3-хранилище и каталогизировали каждый документ с метаданными и индексацией для полнотекстового поиска.
Экаунтология - наука, изучающая универсальные возможности учёта. В 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 научных заметок и исторических комментариев, мигрированных с оригинального сайта с сохранением форматирования и дат публикации.
- Весёлая бухгалтерия - раздел с пародиями, 2 085+ афоризмами (А–Я), библиографией из 14 подразделов. Коллапсируемое оглавление с якорной навигацией.
- Хронология - таймлайн ключевых событий в истории учёта с привязкой к документам библиотеки.
- Pacioli Club - внутренний форум для исследователей с темами, сообщениями и модерацией. Доступен только авторизованным пользователям.
- Шлюз загрузки - форма для отправки документов любым посетителем. Файлы попадают в очередь модерации и публикуются после одобрения администратором.
- Авторизация и роли - регистрация (ФИО, email, пароль), аутентификация через JWT в HttpOnly Cookie, три роли (guest / user / admin) с разграничением доступа через middleware.
- Административная панель - управление документами, новостями, объявлениями, пользователями и очередью модерации.
Миграция данных со старого сайта
Ключевой и самый трудоёмкий этап проекта - полная выгрузка и перенос всего контента с accountology.ucoz.ru на новую платформу:
- Парсинг старого сайта - Написаны Python-скрипты для автоматического сбора всех данных с UcoZ-сайта:
- Реплики (55 штук) - полный текст с HTML-форматированием, даты, авторы
- Персоналии - биографии, фотографии, связи с документами
- «Весёлая бухгалтерия» - афоризмы (А–Я), пародии, библиография
- Текстовые страницы - описание экаунтологии, манифест, топ-50 книг
- Выгрузка файлов с Яндекс.Диска - Все 19 723 файла (126.62 ГБ) - сканы документов, книги, изображения, архивы - были пакетно выгружены с Яндекс.Диска и загружены в облачное S3-хранилище.
- Структуризация и каталогизация - Каждый файл получил метаданные (название, автор, год, страна, ключевые слова), был распределён по 14 тематическим категориям и проиндексирован для полнотекстового поиска. Иллюстрации получили превью-миниатюры.
- Верификация данных - Проведена сверка перенесённого контента с оригинальным сайтом для сохранения полноты и корректности информации.