Themes and plugins

Beyond API integrations, the platform itself is extended with storefront themes and server plugins — new payment methods, shipping calculators, storefront designs. These ship inside the platform codebase and deploy with it. There is no theme or plugin upload, no marketplace, and no per-store install of third-party code — this page says what IS possible and where the full guides live.

The contribution model

A theme or plugin is TypeScript inside the platform repository, reviewed and deployed like any other platform code. If you are a developer or team who wants to build one, that means working with the platform team on the repository itself — not uploading an artifact.

Building for one specific merchant without touching platform code? Use the API and webhooks (see Authentication and Webhooks) — that is what they are for.

What a theme can do

  • Own the header, footer, default home page, listing and product page arrangement, and the product card.
  • Ship a CSS-token palette (light and dark) that the merchant’s own brand colours layer over.
  • Expose merchant-tunable settings (header style, card shape, badges…) with Arabic and English labels, validated server-side.
  • Pick named variants for the shared cart, checkout, account and order pages.

Merchants keep full control of their content: the home page is a section-by-section page builder (add, remove, reorder, hide), photos upload to the platform’s asset server, and a whitelist of advanced colour tokens covers the “I just need to change one colour” case — raw custom CSS is deliberately not supported.

What a plugin can do

  • Register payment methods — six gateways ship this way today (COD, Sham Cash, Syriatel Cash, MTN Cash, manual transfer, PayTabs).
  • Register shipping calculators — per-governorate rates and store pickup ship this way.
  • Add entities, GraphQL APIs, scheduled jobs, dashboard pages, and react to platform events.
  • Integrate delivery companies and suppliers through adapter registries.

The guides and worked examples

The repository carries step-by-step tutorials in docs/developer-guide/ — a theme guide built around the “layali” theme and a plugin guide built around the “store-pickup” plugin (one payment method plus one shipping calculator, with tests). Both examples exist to be copied.