Skip to main content

Introduction

Baxela is a developer-first, modular, headless e-commerce platform. The backend is an API-only Laravel application, consumed by a React admin panel and a Next.js storefront — all developed together in a single monorepo.

Highlights

  • Modular monolith — the backend is split into bounded modules (Catalog, Orders, Payments, Shipping, …) via nwidart/laravel-modules, not a distributed microservice sprawl.
  • Event-driven — modules communicate through domain events and listener reactions, keeping them loosely coupled.
  • Headless / API-first — the storefront and admin are plain clients of the versioned REST API.
  • Shared-hosting friendly — a conventional PHP stack (no exotic runtime requirements) that also runs great in Docker.
  • Fully documented — API (OpenAPI via Scramble), flows, and module references.
  • SOLID & Open/Closed compliant — extend through events, listeners, module overrides, and custom modules rather than core edits.

The three apps

AppStackPurpose
backendLaravel (PHP ≥ 8.3), MySQL, RedisREST API, modular monolith
adminReact 19, Vite 7, TypeScript, Tailwind v4, shadcn/uiBack-office panel (catalog, content, media, orders, users, settings)
storefrontNext.js (App Router), React 19, TypeScriptCustomer-facing shop with built-in English + Farsi (RTL) locales

Where to go next

  • Installation — get the whole platform running with one docker compose up -d.
  • Architecture — how the modular monolith and its modules fit together.
  • API — authentication, conventions, and the OpenAPI/Bruno tooling.
  • Deployment — develop and production stacks.