Case study backend PHP

ShopFlow E-commerce

Kontekst: mock e-commerce z checkoutem, płatnością i obsługą zamówienia po stronie backoffice. Problemem jest to, że koszyk, cena i status płatności nie mogą zależeć od stanu frontendu.

Case study

Zakres techniczny

Część repozytoriów jest prywatna do czasu zamknięcia prac. Zakres projektu, decyzje techniczne i scenariusze działania są opisane na stronie. Kod mogę omówić na rozmowie technicznej.

01

Problem

  • Demo sklepu ma pokazać cały cykl commerce, a nie tylko formularz checkoutu: discovery produktów, stan koszyka, konto klienta, płatność i obsługę zamówienia po stronie backoffice.
  • Najważniejsze ryzyka to niespójna wycena checkoutu, podwójne próby płatności, webhook replay, rozjazd inventory oraz operacje admina bez audytu i kontroli uprawnień.
02

Decyzja techniczna

  • Backendowy koszyk jako źródło prawdy, serwerowa wycena, Idempotency-Key dla checkoutu, podpisane webhooki i audit log operacji backoffice.
  • Backend jest źródłem prawdy dla koszyka, cen, rabatów, dostawy i dostępności; frontend pokazuje wynik, ale nie decyduje o finalnym stanie zamówienia.
  • Checkout, koszyk, konto klienta, płatności i webhooki są prowadzone przez osobne serwisy aplikacyjne, dzięki czemu kontrolery pozostają cienką warstwą HTTP.
03

Efekt

  • Projekt pokazuje projektowanie krytycznego flow biznesowego: checkout, ponowienie płatności, status zamówienia, fulfillment i raporty operacyjne.
  • Storefront: katalog produktów, wyszukiwanie, filtry, sortowanie, strony produktowe, wishlist, recently viewed, mini cart i centrum pomocy klienta.
  • Customer flow: rejestracja, login, profil dostawy, historia zamówień, prefill checkoutu i merge koszyka gościa po logowaniu.
  • Backoffice: produkty, inventory, zamówienia, płatności, fulfillment tracking, raporty CSV/JSON, audit log, role i panel maintenance.
04

Stack

  • PHP / Checkout / Płatności / Webhooki
  • composer install
  • composer serve
  • composer smoke-local