DEVCRAFTED.PL
Case study

Platforma e-commerce w Laravelu: sklep z personalizowanymi produktami cyfrowymi i płatnościami Stripe

Sklep z personalizowanymi produktami cyfrowymi i płatnościami online

Projekt objęty NDA

O projekcie

Sklep z produktami cyfrowymi, które powstają dopiero po zakupie, według parametrów podanych przez kupującego. Kupujący podaje własne parametry, a zewnętrzny silnik generuje dla niego gotowy produkt do pobrania. Platforma obejmuje wielojęzyczną część publiczną, panel klienta oraz panel administracyjny do zarządzania katalogiem, zamówieniami, klientami i treściami.

Wyzwanie

Klient potrzebował sklepu internetowego, w którym produkt powstaje dopiero po zakupie: kupujący podaje własne parametry, a zewnętrzny silnik generuje dla niego gotowy produkt do pobrania. Sklep miał obsłużyć płatności online i faktury, kilka wersji językowych, a do tego dać zespołowi klienta panel do prowadzenia katalogu, zamówień i treści. Generowanie trwa, więc nie mogło blokować strony ani gubić opłaconych zamówień.

Moja rola

  • Backend Developer
  • Frontend Developer
  • Optymalizacja wydajności
  • Wdrożenie produkcyjne

Projekt objęty NDA: bez nazwy klienta, zrzutów ekranu i kodu.

Zakres funkcjonalny

  • Personalizacja produktu
    Konfiguracja produktu własnymi parametrami i walidacja danych przed zakupem.
  • Generowanie produktu w tle
    Po płatności zadanie w kolejce zleca przygotowanie produktu zewnętrznemu silnikowi, a kupujący dostaje powiadomienie i pobiera gotowy produkt.
  • Płatności Stripe
    Płatności jednorazowe i subskrypcje, kody rabatowe, faktury i portal klienta do zarządzania płatnościami.
  • Panel klienta
    Zakupione produkty, opinie, ulubione oraz historia płatności i faktur.
  • Panel administracyjny
    Katalog z kategoriami i atrybutami, import produktów z arkusza, zamówienia, klienci, opinie, zgłoszenia, blog i ustawienia.
  • Wielojęzyczność i konta
    Kilka wersji językowych z tłumaczonymi adresami URL, logowanie OAuth i newsletter.

Rozwiązanie

Personalizacja i generowanie produktu w tle

Kupujący konfiguruje produkt własnymi parametrami. Po płatności zadanie w kolejce zleca przygotowanie produktu zewnętrznemu silnikowi, chroni przed podwójnym generowaniem, a gotowy produkt udostępnia do pobrania.

Integracja płatności Stripe

Stripe Checkout dla płatności jednorazowych i subskrypcji, kody rabatowe, automatyczne naliczanie podatku i faktury. Zdarzenia ze Stripe trafiają przez webhooki z weryfikacją podpisu i aktualizują zamówienia oraz faktury.

Konta klientów i logowanie OAuth

Rejestracja kontem e-mail albo logowanie OAuth jednym kliknięciem, uwierzytelnianie dwuskładnikowe kodem z e-maila oraz panel klienta z zakupionymi produktami, opiniami i fakturami.

Powiadomienia w czasie rzeczywistym

Kupujący nie odświeża strony: o przygotowaniu produktu, opłaceniu i anulowaniu zamówienia informuje go prywatny kanał WebSocket oraz e-mail.

Panel administracyjny i import katalogu

Zarządzanie produktami, kategoriami, atrybutami, zamówieniami, klientami, opiniami, zgłoszeniami i blogiem. Katalog importowany z arkusza kalkulacyjnego, kody promocyjne generowane hurtowo.

Sklep wielojęzyczny, szybki i gotowy na SEO

Kilka wersji językowych z tłumaczonymi adresami kategorii i produktów, mapa witryny generowana automatycznie, obrazy w WebP, cache w Redis oraz poprawki według Google PageSpeed i WCAG.

Architektura

  • Modularny monolit w Laravelu, podzielony na kilkanaście modułów: m.in. zamówienia, płatności, panel klienta, panel administracyjny, konta, powiadomienia, pliki i tłumaczenia.
  • Logika w serwisach za interfejsami, repozytoria, obiekty DTO i walidacja w Form Requests; kontrolery tylko przyjmują żądanie i zwracają odpowiedź.
  • Płatności za wspólnym interfejsem operatora; webhooki Stripe zamieniane na zdarzenia aplikacji obsługiwane przez listenery.
  • Generowanie produktów i anulowanie zamówień w zadaniach kolejki, a scheduler sprząta konta i pliki oraz odświeża mapę witryny.
  • Powiadomienia przez WebSocket (prywatne kanały użytkownika), e-mail i WebPush; logowanie OAuth i 2FA.
  • Frontend w Blade i JavaScript budowany Laravel Mix z PurgeCSS, nagłówki CSP, reCAPTCHA v3 i monitoring błędów w Sentry po stronie serwera i przeglądarki.

Mój wkład

  • Zaprojektowanie i zbudowanie części sprzedażowej od podstaw – backend i frontend: moduły zamówień i płatności, generowanie produktu w kolejce, panel klienta i rozbudowa panelu administracyjnego.
  • Integracje: Stripe (płatności, subskrypcje, faktury, webhooki), logowanie OAuth i monitoring błędów w Sentry.
  • Wielojęzyczność z tłumaczonymi adresami URL, mapa witryny, optymalizacja wydajności według Google PageSpeed i poprawki dostępności WCAG.
  • Rozwój po starcie sprzedaży: import katalogu, opinie, wyszukiwarka i dokumentacja techniczna generowana z kodu.

Technologie

  • Laravel
  • PHP
  • MySQL
  • Redis
  • Laravel Modules
  • Stripe
  • REST API
  • WebSocket
  • Queue
  • Scheduler
  • OAuth
  • 2FA
  • Sentry
  • Blade
  • JavaScript

Sprzedajesz produkt, który trzeba przygotować dla każdego klienta? Napisz, jak to dziś robisz. Odpowiem w ciągu 24 godzin.

Napisz do mnie
Autopromocja

Nabyto.pl – e-booki i workbooki PDF po polsku

Konkretne materiały w PDF: pobierasz od razu po zakupie, drukujesz albo wypełniasz na ekranie. Bez DRM, bez subskrypcji i bez zakładania konta.

Odwiedź Nabyto.pl
Kontakt

Masz projekt albo problem z aplikacją? Napisz, odpowiem w ciągu 24 godzin.

Napisz do mnie
Telefon