Написать в Telegram@Odilient

ВЕБ-ПЛАТФОРМА

Knigopoisk

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

Knigopoisk
Клиент
Книги и издательское дело
Отрасль
В развитии с 2024 года
Срок
2024
Год
С чего всё началось

Задача

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

Что мы сделали

Решение

Мы построили и поддерживаем всю платформу: API на Laravel 12 с полностью русифицированной админ-панелью на Filament 4 и витрину на Nuxt с серверным рендерингом, читалкой в браузере и аудиоплеером. Платежи идут через единый слой абстракции над Stripe, Polar, YooKassa, Robokassa, T-Bank, NOWPayments и Cryptomus — с автоматическим переключением на резервного провайдера и списками провайдеров под выбранную валюту. Вокруг магазина мы добавили Telegram-уведомления о заказах, встраиваемый партнёрский виджет и пайплайн ИИ-озвучки.

Технологии
LaravelNuxt 4FilamentVue 3MySQLRedisLaravel OctanePiniaStripeDocker
За кулисами

Как всё создавалось

Интернет-магазин электронных и аудиокниг на русском языке

knigopoisk.com («КнигоПоиск») — интернет-магазин электронных книг и аудиокниг для русскоязычных читателей. На витрине заявлено более 11 000 книг в десятках жанров — от фантастики и детективов до деловой литературы и классики, — а также разделы с аудиокнигами, бесплатными книгами, подборками, авторами, отзывами и блогом. Читатели покупают и скачивают книги или читают их прямо в браузере, получают бесплатные книги за отзывы и могут приглашать друзей в реферальный книжный клуб.

Мы работаем над платформой с марта 2024 года: бэкенд на Laravel и админ-панель, витрина на Nuxt, платежи, цифровая доставка и инструменты вокруг магазина.

Ключевые возможности

  • Каталог электронных и аудиокниг — страницы жанров, авторов и подборок, отдельные страницы покупки и бесплатного скачивания для каждой книги и отдельный раздел бесплатных книг.
  • Читалка и плеер в браузере — foliate-js и pdf.js открывают тот формат файла, который лучше всего читается, в том числе в старых браузерах, а vue-plyr проигрывает главы аудиокниг и превью.
  • Личный кабинет читателя — библиотека, закладки, заказы, отзывы и настройки рассылки в одном месте; купленные аудиокниги скачиваются по главам или одним ZIP-архивом.
  • Мультивалютная оплата — покупатель переключается между USD, EUR и RUB, цены пересчитываются, а в списке остаются только провайдеры, которые поддерживают выбранную валюту.
  • Платёжные интеграции с резервированием — Stripe и Polar для карт, YooKassa, Robokassa и T-Bank для рублей, NOWPayments и Cryptomus для криптовалюты, плюс унаследованный WayForPay. Если провайдер по умолчанию отключён, его место занимает следующий включённый.
  • Спасённые покупки — если для региона покупателя нет доступного способа оплаты, попытка сохраняется как заявка, и сотрудники получают всё, что нужно, чтобы завершить продажу вручную.
  • Отзывы и бонусы — рейтинги в виде структурированных данных, программа «бесплатная книга за отзыв» и реферальный книжный клуб.
  • Аудиокниги с ИИ-озвучкой — пайплайн синтеза речи превращает цифровые издания в аудиокниги и запускается автоматически, когда кто-то покупает аудиокнигу, у которой ещё нет файла (подробнее — в кейсе ИИ-генерация аудиокниг).
  • Партнёрский виджет — JavaScript-виджет, который подключается одним тегом и продаёт книги Knigopoisk на сторонних книжных сайтах с атрибуцией партнёра (подробнее — в кейсе партнёрский виджет).

Архитектура и технологический стек

Бэкенд и админ-панель

Бэкенд — приложение на Laravel 12 на PHP 8.4, работающее через Laravel Octane, с MySQL, Redis и REST API, задокументированным с помощью Scramble. Бэк-офис построен на Filament 4 и полностью переведён на русский: 48 ресурсов, 68 менеджеров связей и около 300 колонок таблиц, причём переведены все фильтры, пустые состояния и модальные окна. Регрессионный тест падает, если колонка попадает в релиз без подписи. Набор из 171 теста и 898 проверок выполняется параллельно.

В 2026 году мы перестроили каталог в модель «Книга → Издание → Товар» через поэтапные миграции: новый слой данных с переносом существующих записей, переключение связей на новые сущности, публичный API, переведённый на товары, и, наконец, новая консоль каталога в админке. Теперь у одного произведения может быть несколько изданий и форматов без дублирования записей.

В админ-панели есть и ИИ-ассистент: агент на DeepSeek, который вызывает инструменты для работы с заказами, товарами, контентом, медиа, пользователями и статистикой. Когда модель предлагает действие, которое должен одобрить человек, выполнение ставится на паузу, предложение записывается, а агент продолжает работу только после того, как администратор его одобрит или отклонит. Так остаётся журнал того, что было предложено и что сделано.

Витрина

Витрина начиналась на Nuxt 3 и в 2026 году переехала на Nuxt 4. Она использует Vue 3, Pinia с сохранением состояния, Element Plus и Bulma, VeeValidate с Yup и TypeScript-типы, сгенерированные из OpenAPI-спецификации бэкенда. Изображения Open Graph рендерятся на сервере с помощью Satori и resvg, без headless-браузера. За аналитику отвечают PostHog и Яндекс Метрика.

Инфраструктура и эксплуатация

Оба приложения поставляются как Docker-образы и деплоятся через Coolify, с отдельными стеками для разработки и продакшена. Задачи по расписанию обновляют курсы валют каждые 15 минут, ежедневно пересобирают карту сайта, каждую ночь формируют фид для Google Merchant, закрывают брошенные оформления заказа и чистят файлы рендеринга аудиокниг. События заказов, сбои, а также ежедневные и ежемесячные сводки приходят команде через Telegram-уведомления о заказах.

SEO и производительность

Витрина рендерится на сервере и использует набор модулей Nuxt SEO для карт сайта, правил robots, данных schema.org и генерируемых изображений Open Graph; корзина, личный кабинет и страницы заказов закрыты от индексации и генерации OG-изображений. Бэкенд строит карту сайта по каталогу и товарный фид для Google Merchant Center.

Текущая работа идёт по плану технического SEO с двумя жёсткими правилами: никаких изменений URL и ничего не выпадает из индекса. План включает более полные структурированные данные Book, Audiobook и Product, разметку ItemList и хлебных крошек на страницах списков, разметку VideoObject для книг с подобранным видео, разный поисковый интент для страниц покупки и бесплатного скачивания и серверный рендеринг большей части каждой страницы книги.

Наша роль

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

Смежные работы

В Knigopoisk сошлись наши услуги по разработке интернет-магазинов, разработке веб-приложений и внедрению ИИ и автоматизации. Связанные кейсы: ИИ-генерация аудиокниг и пайплайн крупного шрифта.

Создадим вместе

Хотите что-то вроде Knigopoisk?

Расскажите, что должен делать ваш продукт. Мы определим объём работ, распишем сроки и пришлём фиксированную цену — бесплатно и без обязательств продолжать.

Бесплатная консультация Без обязательств Быстрый ответ