No description
- PHP 68%
- JavaScript 19.5%
- CSS 6.6%
- SCSS 2.3%
- Blade 2.2%
- Other 1.4%
| .idea | ||
| app | ||
| bootstrap | ||
| config | ||
| database | ||
| Modules | ||
| packages | ||
| public | ||
| resources | ||
| routes | ||
| storage | ||
| stubs/nwidart-stubs | ||
| tests | ||
| .editorconfig | ||
| .env.example | ||
| .gitignore | ||
| artisan | ||
| CHANGELOG.md | ||
| composer.json | ||
| modules_statuses.json | ||
| package.json | ||
| phpunit.xml | ||
| Prompt.md | ||
| Prompt2.md | ||
| README.md | ||
| vite-module-loader.js | ||
| vite.config.js | ||
OmniSync Backend
Scalable Integration Platform for Shopware 6 & Amazon SP-API
🚀 Overview
OmniSync is a robust, modular monolith backend built with Laravel. It serves as the central integration hub connecting Shopware 6 e-commerce backends with Amazon Selling Partner API (SP-API) for seamless synchronization of products, orders, and inventory.
🛠 Tech Stack
🏗 Architecture & Modules
The application follows a strict Modular Monolith architecture. All business logic resides within Modules/.
graph TD
User((User/Admin)) --> AdminDashboard
Shopware((Shopware 6)) <--> ShopwareIntegration
Amazon((Amazon SP-API)) <--> AmazonIntegration
subgraph "OmniSync Backend (/web)"
Core[📦 Core Module]
subgraph "Integrations"
ShopwareIntegration[🛒 Shopware Integration]
AmazonIntegration[📦 Amazon Integration]
end
SyncEngine[⚙️ Sync Engine]
AdminDashboard[🖥️ Admin Dashboard]
Reporting[📊 Reporting]
Tenancy[🏢 Tenancy]
AdminDashboard --> SyncEngine
SyncEngine --> ShopwareIntegration
SyncEngine --> AmazonIntegration
ShopwareIntegration -.-> Core
AmazonIntegration -.-> Core
SyncEngine -.-> Core
Reporting -.-> Core
end
📦 Key Modules
Core: Shared domain logic, base models, traits, exceptions, and events.ShopwareIntegration: Shopware 6 API client, webhooks, and sync jobs.AmazonIntegration: Amazon SP-API client, OAuth, and listing/inventory/order sync.SyncEngine: Orchestration, conflict resolution, and queued sync jobs.AdminDashboard: Livewire/Inertia UI for management.Tenancy: Multi-tenant provisioning and isolation.Reporting: Analytics and sync stats.
💻 Development Guidelines
Code Structure
- Domain-Driven Design:
Modules\AmazonIntegration\Domain\Services\ListingCreator.php - Communication: Events, Jobs, Commands. No direct coupling between modules.
- Logic: Keep controllers thin. Use Services/Jobs.
Quality Assurance
- Testing:
./vendor/bin/pest - Formatting:
./vendor/bin/pint
⚙️ Setup & Installation
-
Install Dependencies
composer install -
Environment Config
cp .env.example .env php artisan key:generate -
Database Migration
php artisan migrate -
Run App
php artisan serve
📄 License
Proprietary / [Insert License Here]