Laravel-React-Next Ecommerce

A personal full-stack eCommerce platform: a single Laravel API behind three independent front ends, with Redis, RabbitMQ and Stripe, all running in Docker.

  • Laravel 13
  • PHP 8.3
  • React
  • Next.js
  • TypeScript
  • Redis
  • RabbitMQ
  • Stripe
  • Docker
Type
Personal project
Date
Apr 2026
Front ends
Three, one shared API
Runtime
9 Docker services

Overview

An eCommerce platform built to practise splitting one product into several applications. Admins manage users, roles, products and orders. Influencers pick products, generate shareable links, and see their revenue and ranking. Shoppers who follow a link land on a checkout and pay with Stripe.

Each audience gets its own front end, but all three talk to the same Laravel backend — a monolith-first approach to a microservices layout, with email already split out into its own service.

Tech Stack

Backend

Laravel 13 on PHP 8.3, MySQL, Laravel Sanctum, Redis through predis, Stripe for payments.

Front ends

A React admin panel (TypeScript, Redux Toolkit, charts), a React influencer portal, and a Next.js checkout.

Messaging & ops

A second Laravel service for email, fed by a RabbitMQ queue. Mailpit for local mail, phpMyAdmin, Docker Compose.

Architecture

  • The API is split into three route groups — admin, influencer and checkout. Sanctum token abilities keep an influencer token from reaching admin endpoints and the other way round.
  • Redis as a cache: the product list is cached, and an event listener flushes it whenever a product changes.
  • Redis as a data structure: influencer rankings are a sorted set, incremented as orders complete and read back already ordered.
  • Completing an order fires an event whose listeners notify the admin and the influencer and update the rankings, keeping those side effects out of the controller.
  • Email is sent by a separate Laravel service that consumes a RabbitMQ queue, so a slow mail server never slows down a request.

Deployment

The project is fully containerised: Docker Compose starts nine services — the API, the email worker, the three front ends, MySQL, phpMyAdmin, Redis and Mailpit — so nothing but Docker is needed on the machine. No PHP, Node.js or Composer is installed locally.

docker compose up -d --build

Secrets stay out of the repository: the .env files are git-ignored and created during setup, and RabbitMQ is an external broker configured through environment variables. The project runs locally; there is no hosted demo.

Have a system to build?

Tell me what it needs to do. I’m open to full stack, Laravel, backend and Node.js roles.

Start a conversation

Dhaka, Bangladesh · Available for remote opportunities