No description
  • PHP 68%
  • JavaScript 19.5%
  • CSS 6.6%
  • SCSS 2.3%
  • Blade 2.2%
  • Other 1.4%
Find a file
2026-01-19 20:38:35 +01:00
.idea Fixed Interface bugs. 2026-01-19 20:38:35 +01:00
app Published assets 2026-01-19 15:56:32 +01:00
bootstrap Welcome screen 2026-01-19 12:59:09 +01:00
config Issue module generator command 2026-01-19 12:21:17 +01:00
database Initial Commit 2026-01-19 11:20:50 +01:00
Modules Fixed Interface bugs. 2026-01-19 20:38:35 +01:00
packages Removed unnecessary contexts from SP API. 2026-01-19 13:28:43 +01:00
public Published assets 2026-01-19 16:01:32 +01:00
resources Published assets 2026-01-19 16:03:17 +01:00
routes Welcome screen 2026-01-19 12:59:09 +01:00
storage Added config 2026-01-19 13:53:05 +00:00
stubs/nwidart-stubs Issue module generator command 2026-01-19 12:21:17 +01:00
tests Initial Commit 2026-01-19 11:20:50 +01:00
.editorconfig Initial Commit 2026-01-19 11:20:50 +01:00
.env.example Initial Commit 2026-01-19 11:20:50 +01:00
.gitignore Fixed Interface bugs. 2026-01-19 20:38:35 +01:00
artisan Initial Commit 2026-01-19 11:20:50 +01:00
CHANGELOG.md Added Dashboard global layouts and Dashboard module implementation. 2026-01-19 20:23:24 +01:00
composer.json Added Login functionalities. 2026-01-19 14:13:32 +01:00
modules_statuses.json Initial Commit 2026-01-19 11:20:50 +01:00
package.json Add sass-embedded package 2026-01-19 13:53:05 +00:00
phpunit.xml Initial Commit 2026-01-19 11:20:50 +01:00
Prompt.md Fixed Interface bugs. 2026-01-19 20:38:35 +01:00
Prompt2.md Fixed Interface bugs. 2026-01-19 20:38:35 +01:00
README.md Initial Commit 2026-01-19 11:20:50 +01:00
vite-module-loader.js Issue module generator command 2026-01-19 12:21:17 +01:00
vite.config.js Added Dashboard related functionalities. 2026-01-19 14:06:13 +01:00

OmniSync Logo

OmniSync Backend

Scalable Integration Platform for Shopware 6 & Amazon SP-API

Laravel PHP PostgreSQL Redis Pest


🚀 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

Category Technology Description
Framework Laravel Laravel 11.x / 12.x
Architecture 🧩 Modular Monolith Powered by nwidart/laravel-modules
Database Postgres Primary data store (JSONB support)
Queue Redis Laravel Horizon + Redis for background jobs
HTTP Client 🌐 Guzzle For external API communication
Auth 🔐 Sanctum / Spatie API Auth & RBAC
Testing 🧪 Pest Testing framework

🏗 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

  1. Install Dependencies

    composer install
    
  2. Environment Config

    cp .env.example .env
    php artisan key:generate
    
  3. Database Migration

    php artisan migrate
    
  4. Run App

    php artisan serve
    

📄 License

Proprietary / [Insert License Here]