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

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

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

О проекте

У заказчика был научно-исследовательский сайт 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 на новую платформу:

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

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

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