Munir Nashriyoti
A digital publishing platform: print books, audiobooks and e-books in one store — with subscriptions, in-app reading and listening, and delivery.

Key numbers
3
Product formats
6
Payment providers
3
Interface languages
The challenge
The publisher sells three different products at once — print books, audiobooks and e-books. Each has its own logic: print lives in stock and delivery, audio in playback position and chapters, e-books in rights and protected reading. They had to be unified into one catalogue, one cart and one subscription system, with access rights from purchases, subscriptions and gifts kept strictly apart.
What we built
We built a Django + DRF backend and a Nuxt 3 storefront, with a separate API for the mobile app. The catalogue supports three formats (book / audiobook / e-book), and subscriptions run in three tiers (Premium, E-book, Audio) across 1/3/6/12-month terms. Reading and listening happen in the browser through epub.js and pdf.js — with saved position, bookmarks, quotations, a bookshelf and reading goals; every audio chapter also got a QR deep link. Payments go through Payme, Click, Apelsin, Octo (with saved cards), Payze and Uzum Bank; delivery is integrated with BTS and Yandex Delivery. Elasticsearch search, Celery background jobs, a Telegram order bot, referral and blogger payouts, promo codes and a cashback wallet are all managed from one admin panel.
Results
The publisher now sells all three formats on one platform: catalogue, subscriptions, payments, delivery and the reading experience live in a single system. Access is derived strictly from a paid order and is scoped per format — buying the audio version of a book does not unlock its e-book. The interface runs in three languages (Uzbek, Russian, English), with content translations managed from the admin panel.
Tech stack
- Celery
- Django
- Docker
- Elasticsearch
- Nuxt
- PostgreSQL
- Python
- Redis
- Telegram Bot API
- TypeScript
- Vue JS