Okiyumi Shop
Digital-commerce platform for subscriptions, goods and services
Commerce · product architecture
One unified commerce architecture: subscriptions, game items, top-ups, accounts, digital files and services.
Context
A digital-commerce infrastructure in pre-launch preview: the catalogue is assembled, real payments are disabled in production. The audited snapshot shows 23 products, 22 categories, 7 collections, all in PREVIEW, 0 orders.
Problem
Different digital goods — subscription, license, file, manual fulfilment, Telegram — usually turn into five separate shops. What's needed is one model that covers every direction.
Solution
- 01
A single domain: Product, ProductVariant, Provider, ChannelListing, CustomerField, Order, Payment, Fulfillment.
- 02
Multiple display currencies — RUB, UAH, USD, EUR, KZT — behind an FX provider abstraction with persisted rate snapshots, so prices don't drift after payment.
- 03
Storefront localization in RU / EN / UK, fulfilment directions from inventory to external providers, RBAC, audit logs and production-seed protections.
Architecture
Next.js 15.5
React 19 · Tailwind 4Commerce domain
Product · Order · Payment · FulfillmentPrisma · PostgreSQL 16
catalogue and order dataFX abstraction
5 currencies · rate snapshotsFulfilment
inventory · license · file · manual · TelegramFLOW
- 01Storefront RU / EN / UK→ Catalogue · currencies
- 02Order5 currencies→ Fulfilment direction
Numbers
integration tests passing
products in catalogue
display currencies
Stack
- Next.js 15.5
- React 19
- TypeScript
- Tailwind CSS 4
- Prisma
- PostgreSQL 16
- Docker
- nginx
- Vitest
Outcome
- 205 out of 205 integration tests pass — the platform is launch-ready, not “almost done”.
- Domain design over pages: the commerce logic is described in data, not smeared across the UI.