© 2017—2024 KozhinDev
Контакты
+7 (950) 973—73—40По вопросам маркетинга и PR:
+7 (923) 284—68—87По вопросам HR:
+7 (903) 917—83—11Ранобэ
01.02.201906.06.2020
ранобэ.рф
Сервис для создания и чтения ранобэ‑книг
Технологии
PHP 7
Yii2
ReactJS
Redux
Figma
Illustrator
MySQL
Описание
Ранобэ, или лайт‑новелла — популярная разновидность японской молодежной литературы. Лайт‑новелла дословно переводится с английского как «легкий роман». Эти книги действительно быстро и легко читаются благодаря особенностям построения текста. Авторы используют короткие предложения и абзацы, строят основное повествование вокруг диалогов. Но при этом по своему объему ранобэ не уступают классическим книгам.
Лайт‑новелла может относиться к любому жанру — фантастике, ужасам, романтике. Чаще всего книга начинается с нескольких ярких иллюстраций, нарисованных в аниме‑стиле, после чего в тексте лишь изредка встречаются черно‑белые иллюстрации. В Японии лайт‑новеллы популярны уже несколько десятилетий, в России же их распространение только набирает обороты.
Заказчик хотел предложить русскоговорящим любителям японской литературы качественные переводы ранобэ и стабильно обновляющийся ассортимент. Для этого он использовал собственный веб‑сервис , в работе которого со временем возникало все больше проблем.
Задача
Владелец сервиса искал команду, которая могла бы переписать бэкенд и реализовать удобную админ‑панель, которая поможет разграничить права доступа для пользователей. Также требовалось автоматизировать выпуск новых глав. В перспективе предстояло переписать фронтенд сервиса.
Решение
Проблема существующей серверной части сервиса заключалась в том, что его стало трудно поддерживать. Доработка и добавление нового функционала были еще сложнее, хотя за время работы у владельца накопились идеи, которые он хотел воплотить. Скорость работы сайта также падала. Наша команда полностью переписала бэкенд сервиса. Мы реализовали перенос всех данных пользователей и книг из старой структуры базы данных в новую.
После этого переключились на разработку новой админ‑панели. Она была создана с нуля — и бэкенд, и фронтенд. Переводами ранобэ занималось большое количество людей, и это вносило в работу сервиса путаницу. Из‑за этого беспорядка владелец не мог нормально реализовать бизнес‑процессы.
Мы упорядочили структуру сервиса. Разделили права доступа к контенту на три вида — бесплатный, по подписке и за донат.
Реализовали переход из одного вида в другой по времени. Например, через три дня после выхода для пользователей, которые оплатили подписку, глава автоматически становится бесплатной. Реализовали функцию таймера, чтобы читатели могли узнать, когда на сайте появится новая глава книги.
Клиент хотел, чтобы права на редактирование контента были четко регламентированы. Прописали сложный, но очень гибкий ролевой функционал, благодаря которому стало возможно дифференцировать даже изменение отдельных полей. Например, переводчик не может сменить заголовок главы, но это сможет сделать редактор.
Также пользователь, который обнаружил ошибку в тексте, может отметить ее и предложить исправление. Модераторы сервиса проверят отметку в течение трех дней и внесут изменения. Это позволяет постоянно улучшать качество контента на сайте.
Для удобства пользователей разработали внутреннюю систему биллинга и надежную систему оплаты. Оплатить подписку и перевести деньги можно через платежные шлюзы Robokassa и NextPay.
После разработки серверной части и создания админ‑панели мы также полностью переписали фронтэнд веб‑сервиса.
Интересные особенности
Реализовали для сервиса возможность озвучивания книг с помощью Yandex SpeechKit API. Эта технология позволяла озвучить главу любой книги с сайта голосом, напоминающим Алису. Это решение в конечном итоге не было запущено в продакшене.
Второй важной особенностью стала защита контента от пиратства. Сайты с ранобэ очень часто копируют книги друг у друга, делается это вручную или с помощью парсеров. Перед нами встала задача сделать этот процесс максимально неудобным, а в идеале — невозможным. Единственный способ реализации — представлять контент в виде изображения, а не текста. Но изображение должно встраиваться в страницу сервиса таким образом, чтобы пользователь не видел разницы между ним и текстовым форматом.
Мы сделали это с помощью технологии Puppeteer, которая позволяет рендерить страницу в браузере прямо на сервере. Когда картинка отрисована в нужном разрешении, ее скриншот передается на фронтенд веб‑сервиса. Эта технология работала также с адаптивной версией сайта. Единственный минус заключается в том, что загрузка изображений через интернет занимает больше времени, чем передача текста.
Результат
Заказчик получил веб‑сервис, который позволяет реализовать задуманную им бизнес‑логику. Чистый код бэкенда делает возможными дальнейшие доработки и позволяет сервису работать быстро.
Админ‑панель упорядочила внутренние процессы проекта, позволила автоматизировать перевод и выкладку новых глав. Для конечного пользователя веб‑сервис предоставляет возможности читать любимые произведения комфортно, производить оплату через безопасные платежные системы.
Защита от копирования позволяет эффективнее монетизировать проект за счет уникальности предоставляемого контента.
Свяжитесь с нами