Commerce Engine Commerce Engine ← Späť na hlavnú stránku

Software Specification — Commerce Engine

Verzia dokumentu: 1.0 Dátum: 2026-08-01 Súvisiaci release: v1.0

1. Úvod

1.1 Účel dokumentu

Tento dokument popisuje funkčnú a technickú špecifikáciu systému Commerce Engine (CE) — headless e-shop platformy postavenej na frameworku Laravel. Slúži ako referenčný podklad pre vývoj, údržbu a integráciu s klientskými aplikáciami.

1.2 Rozsah systému

Commerce Engine poskytuje:

1.3 Definície a skratky

Skratka Význam
CE Commerce Engine
PIM Product Information Management (správa produktov)
WMS Warehouse Management System (skladové hospodárstvo)
OMS Order Management System (správa objednávok)
CRM Customer Relationship Management (správa zákazníkov)
API Application Programming Interface
2FA Dvojfaktorová autentifikácia
COD Cash on Delivery (dobierka)

2. Prehľad systému

2.1 Architektúra

Commerce Engine je monolitická Laravel aplikácia, ktorá súčasne poskytuje:

  1. REST API (routes/api.php, prefix /api/v1) — bezstavové, autentifikované cez Laravel Sanctum (Bearer token), určené pre externé klientské aplikácie.
  2. Webovú administráciu (routes/web.php) — session-based aplikácia s Blade + Tailwind CSS 4 frontendom, chránená autentifikáciou a rolami.
  3. Verejnú prezentačnú stránku (/) — marketingová landing page bez nutnosti prihlásenia.
┌─────────────────────┐        REST API (Sanctum token)        ┌──────────────────────┐
│   Klientský e-shop  │ ─────────────────────────────────────▶ │   Commerce Engine    │
│                     │ ◀───────────────────────────────────── │   (Laravel API + BO) │
└─────────────────────┘                                        └──────────────────────┘
                                                                          │
                                                                          ▼
                                                                 ┌──────────────────-┐
                                                                 │  Databáza (SQLite/│
                                                                 │  MySQL/Postgres)  │
                                                                 └──────────────────-┘

2.2 Technologický stack

Vrstva Technológia
Jazyk / runtime PHP 8.4
Framework Laravel 13
Autentifikácia API Laravel Sanctum 4 (Bearer token)
2FA pragmarx/google2fa
PDF dokumenty barryvdh/laravel-dompdf
QR kódy simplesoftwareio/simple-qrcode
Databáza (vývoj) SQLite
Frontend administrácie Blade šablóny + Tailwind CSS 4, Vite
Testovanie PHPUnit 12
Code style Laravel Pint

3. Funkčné požiadavky

3.1 Autentifikácia a používatelia

3.2 Správa produktov (PIM)

3.3 Skladové hospodárstvo (WMS)

3.4 Košík a checkout (API)

3.5 Správa objednávok (OMS)

3.6 CRM — správa zákazníkov

3.7 Cenotvorba a akcie

3.8 Dokumenty

3.9 Lokalizácia a nastavenia

3.10 Prezentačná (marketingová) stránka

4. Dátový model (kľúčové entity)

User, Customer, CustomerAddress, Product, ProductVariant, Category, Brand, Warehouse, StockItem, StockMovement, Cart, CartItem, Order, OrderItem, OrderStatusHistory, Discount, Coupon, TaxRate, Currency, Language, Document, Setting, EmailTemplate, AuditLog.

Kľúčové enumy: OrderStatus, CartStatus, DiscountType, DocumentType, PaymentMethod (cod, bank_transfer), PaymentStatus, ShippingMethod (gls, dpd), UserRole (admin, manager, customer).

5. REST API — prehľad endpointov

Metóda Endpoint Popis Auth
GET /api/v1/categories Zoznam kategórií verejné
GET /api/v1/categories/{slug} Detail kategórie verejné
GET /api/v1/brands Zoznam značiek verejné
GET /api/v1/brands/{slug} Detail značky verejné
GET /api/v1/products Zoznam produktov verejné
GET /api/v1/products/{slug} Detail produktu verejné
POST /api/v1/auth/register Registrácia zákazníka verejné
POST /api/v1/auth/login Prihlásenie (vráti Sanctum token) verejné
POST /api/v1/auth/logout Odhlásenie Sanctum
GET /api/v1/cart Zobrazenie košíka (guest/zákazník) guest token / Sanctum
POST /api/v1/cart/items Pridanie položky do košíka guest token / Sanctum
PATCH /api/v1/cart/items/{cartItem} Úprava množstva položky guest token / Sanctum
DELETE /api/v1/cart/items/{cartItem} Odstránenie položky guest token / Sanctum
POST /api/v1/checkout Dokončenie objednávky (guest aj zákazník) guest token / Sanctum
GET /api/v1/orders Zoznam objednávok prihláseného zákazníka Sanctum
GET /api/v1/orders/{order} Detail objednávky Sanctum

6. Nefunkčné požiadavky

7. Roadmapa (plánované rozšírenia)

Podľa sekcie Roadmap na prezentačnej stránke a README.md:

8. Súvisiace systémy

9. Referencie