/laravel_ddd_ecommerce

Laravel DDD e-Commerce

Primary LanguagePHP

PHP CI Maintainability Code Coverage Mutation Testing

Laravel v10.x Livewire v2.x PHP 8.2 Docker 20.10.x PostgreSQL 15.X Swagger 3.0 Redis 7.x RabbitMQ 3.11.x ELK 8.6.x

About

I was looking for such kind of project but found nothing, so I decided to create my own. Maybe there's not a huge difference between generic Laravel e-Commerce and DDD e-Commerce, but anyway it's interesting to use another architecture and look how you can modify base project structure.

I was inspired by these (1 , 2 , 3) and a lot of other articles and videos as well as my work projects. But basically every DDD article presents its own project structure so DDD is more an idea or a team agreement than exact project structure. And that's why I've implemented my own wierd DDD structure :)

Development Setup

  1. Fill .env variables.
  2. To setup project in Docker environment (Laravel Sail) use make setup command.

Features

Generic Features

Infrastructural Features

Project Features

  • Authentication with Laravel Sanctum, Email Verification, Login History - [Users]
  • Catalog with different filters, full-text search, categories tree, etc. - [Catalog]
  • Ability to add feedback, but a limited number of times per hour per IP - [Feedback]
  • [WIP] Carts with Redis - [Cart]
  • [News]

Random Features

  • Full usage of PHP 8.1 + PHP 8.2 features
  • Admin panel multilanguage support
  • AWS S3 disk for images, responsive images generation

And a lot of other that isn't mentioned above, or will be added, or will be fixed in current code.