Case study 01

Building a Digital Publishing & Commerce Platform for the Saudi Market

Publishing → distribution → commerce → payment → reading in one production system

Client
Sard Books
Location
Saudi Arabia
Industry
Digital Publishing / E-commerce
Project type
Production platform
Duration
4 months
Team
4 engineers
Role
Backend, database, deployment + ~20% Angular/Flutter

Overview

Business context

Sard Books is a digital publishing and distribution platform designed for publishers and readers in Saudi Arabia and the wider GCC market.

The platform connects publishing houses with readers through digital book publishing, sales, payments, and mobile reading.

I was responsible for the database, backend, deployment infrastructure and pipelines, while also contributing to the Angular and Flutter applications.

Platform includes

  • Publisher management
  • Book catalog management
  • Reader accounts
  • Digital book sales
  • Publisher onboarding and approval
  • Transactions and payouts
  • Marketing and offers
  • Reviews
  • Mobile reading
  • Arabic/English and RTL support
  • Administrative operations

Business challenge

The problem

The platform needed to bring several traditionally separate parts of digital publishing into one system:

  1. 01 Publishers
  2. 02 Books
  3. 03 Approval
  4. 04 Distribution
  5. 05 Purchase
  6. 06 Payment
  7. 07 Reading
  8. 08 Publisher settlement
  • Arabic and RTL interfaces
  • SAR transactions
  • Saudi payment methods
  • Publisher approval workflows
  • Digital-content protection
  • Publisher revenue calculations
  • Mobile reading

The most technically sensitive part was protecting purchased EPUB/PDF content while still allowing legitimate users to read their purchases on mobile devices.

Impact

Why the problem mattered

  1. 01

    Publishers needed a controlled path from catalog to settlement — not disconnected tools.

  2. 02

    Regional market requirements (RTL, SAR, local payments) had to be first-class, not bolted on.

  3. 03

    Digital assets are commercially valuable; public URLs would create an obvious distribution risk.

Engineering

Key engineering challenges

Technical constraints that shaped the architecture and delivery approach.

01

Multiple applications, one business system

The platform had an admin dashboard, publisher dashboard, and Flutter reader application. All three required different permissions, data shapes and workflows while sharing the same underlying business rules.

02

Digital content protection

Publishers were uploading commercially valuable EPUB/PDF files. Simply exposing the original files through publicly accessible URLs would create an obvious distribution risk.

03

Payment reliability

Payments were asynchronous and could involve payment confirmation, order fulfillment, publisher share, platform commission, promotional discounts, tax/VAT, and publisher balance updates. Duplicate or incorrectly processed payment callbacks could therefore create financial inconsistencies.

  • Payment confirmation
  • Order fulfillment
  • Publisher share
  • Platform commission
  • Promotional discounts
  • Tax/VAT
  • Publisher balance updates

04

Publisher approval

Publishers and books required controlled workflows before becoming available through the platform.

Ownership

My role

I was the primary owner of:

  • MS SQL database design
  • Database schema and relationships
  • .NET backend
  • API architecture
  • Backend business logic
  • Payment integration
  • Payment/webhook handling
  • Content protection pipeline
  • Publisher workflows
  • Deployment pipelines
  • Production deployment

I also contributed approximately 20% to Angular and Flutter development and worked directly with the client alongside another team member.

Solution

How it was solved

A unified .NET backend enforced shared business rules across admin, publisher, and reader surfaces — with protected asset delivery and idempotent payment settlement.

Digital content protection

The content-delivery architecture was designed around controlled access to digital assets. Publisher uploads were processed by the backend before storage. The protected asset was stored in private cloud storage rather than being exposed as a normal public book download.

  1. 01 Reader
  2. 02 Purchase
  3. 03 Payment confirmation
  4. 04 Ownership verification
  5. 05 Authorized content request
  6. 06 Protected content delivery
  7. 07 Flutter Reader
  8. 08 Offline reading

Payment architecture

I implemented the backend integration with MyFatoorah and the payment/order processing flow. The system had to account for asynchronous payment callbacks and prevent the same successful payment from being processed more than once.

  • Order status
  • Publisher revenue
  • Platform share
  • Promotional pricing
  • Tax/VAT calculations
  • Publisher balances
The important architectural principle was: a payment callback should be safe to retry without creating a second order settlement.

Architecture

System architecture

Admin and publisher dashboards and the Flutter reader share one .NET API, with MS SQL, Redis, and protected assets on AWS S3 / CloudFront.

SARD BOOKS Admin Dashboard Next.js / React Publisher Dashboard Next.js / React .NET 8 API Clean Architecture · CQRS / MediatR · RBAC Payment Processing · Publishing Workflows Shared business rules MS SQL Server Primary data store Redis Cache Performance layer Encrypted Book Assets AWS S3 → CloudFront → Flutter Reader

Results

Production platform for real publishers, readers, and transactions

The platform reached production and was used by real publishers, readers and transactions.

The system provided a unified foundation for Publishing → Distribution → Commerce → Payment → Reading while supporting the regional requirements of the target market.

Technology

Implementation stack

Listed last on purpose — technology supported the business outcome; it was not the story.

.NET 8 ASP.NET Core MS SQL Server Redis AWS S3 CloudFront MyFatoorah Flutter Next.js React Docker

Next step

Need engineering ownership on a production problem?

Talk to Solastia Systems about the business outcome you need — architecture, delivery, and measurable results follow from that.