Kesari Dry Fruits

Engineering Built by Labsofttech

The engineering behind the shop.

We design and build production e-commerce and B2B platforms on a modern PHP stack — clean domain models, tested top to bottom, and shipped continuously. This storefront is one of them.

13Bounded contexts
DDDHexagonal + CQRS
PHP 8.4Symfony 8
CI/CDTested & auto-deployed

The stack

Modern, boring-in-the-best-way technology

Proven, well-supported tools chosen for longevity and maintainability — so the platform stays fast to change years from now.

Framework & language
  • PHP 8.4
  • Symfony 8
  • Twig 3
Domain & data
  • Doctrine ORM 3
  • DBAL & Migrations
  • MySQL
Messaging & CQRS
  • Symfony Messenger
  • Command & Query buses
  • Domain events
API
  • API Platform 4
  • REST / JSON
  • JWT auth (Lexik)
Front-end
  • Symfony UX
  • Live Components & Stimulus
  • Vite + TypeScript
Documents & mail
  • Typst PDF engine
  • Symfony Mailer
  • Vich uploads
Quality
  • PHPUnit 11
  • PHPStan (max)
  • PHP-CS-Fixer
Delivery
  • Docker
  • GitHub Actions CI/CD
  • Zero-downtime deploys

How it’s structured

Domain-driven design, done for real

The codebase is split into independent bounded contexts. Inside each, a strict layering keeps the domain pure and the framework at the edges.

UIControllers, Twig, Live Components, API Platform resources — the delivery mechanisms.
ApplicationCommand & query handlers over message buses (CQRS); orchestrates use cases, no business rules leak in.
DomainEntities, value objects and domain services — pure PHP, framework-free, the source of truth.
InfrastructureDoctrine repositories, mail/PDF adapters, gateways — ports implemented behind interfaces.

The map

13 bounded contexts

Each context owns its own model, language and data — loosely coupled, independently testable.

Catalog

Products, groups, storefront sections and the read model that powers the shop.

Pricing

Price lists, per-partner and per-currency rules, sale-by-weight economics.

Ordering

Customer orders, invoices, confirmation and lifecycle e-mails.

Wholesale

B2B sales orders and invoices with an approval workflow.

Purchasing

Purchase orders and supplier invoices for stock replenishment.

Inventory

Multi-lot stock in base units, adjustments and revaluation.

Packaging

Pack sizes and the weight-based unit-of-measure model.

Partner

Customers and suppliers, their addresses, contacts and terms.

PartnerBilling

Cost lines and partner cost invoicing, kept out of the grand total.

Payment

Payment capture and gateway webhooks (Razorpay).

Shipping

Delivery estimation and fulfilment details.

Analytics

Sales reporting and the admin dashboard KPIs.

Identity

Authentication, roles and fine-grained authorization.

The team

Labsofttech — Domain-driven commerce software, engineered to last.

Muneer Shafi

Founder & Principal Engineer

Domain modelling, architecture, delivery

Backend Guild

Symfony & Doctrine

CQRS, persistence, integrations

Product & UX

Interface & experience

Design system, accessibility, motion

Quality & Ops

Testing & delivery

CI/CD, static analysis, observability

Need a platform like this?

We design and build production commerce and B2B software on this exact stack. Let’s talk about yours.