Skip to content
P.
04preview2025 — now

Okiyumi Shop

Digital-commerce platform for subscriptions, goods and services

Commerce · product architecture

PRODUCTORDERPAYMENTFULFILRUBUAHUSDEURKZT

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 4

Commerce domain

Product · Order · Payment · Fulfillment

Prisma · PostgreSQL 16

catalogue and order data

FX abstraction

5 currencies · rate snapshots

Fulfilment

inventory · license · file · manual · Telegram

FLOW

  1. 01Storefront RU / EN / UK
    → Catalogue · currencies
  2. 02Order
    5 currencies
    → Fulfilment direction

Numbers

205/205

integration tests passing

23

products in catalogue

5

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.