DEVCRAFTED.PL
Case study

Sklep z konfiguratorem i wyceną w Laravelu: wycena produktów wykonywanych na zamówienie w czasie rzeczywistym

Sklep z konfiguratorem produktów i wyceną z zewnętrznego API w czasie rzeczywistym

Projekt objęty NDA

O projekcie

Sklep, w którym klient sam składa produkt wykonywany na zamówienie i od razu widzi cenę dla kilku ilości, liczoną przez zewnętrzne API wyceny. Zamówienie obejmuje przesłanie plików projektu, opcjonalny podgląd do akceptacji, dostawę z terminem realizacji i płatność online Tpay. Zespół klienta prowadzi katalog, konfigurator, koszty dodatkowe i zamówienia w panelu administracyjnym.

Wyzwanie

Firma sprzedająca produkty wykonywane na zamówienie wyceniała każde zlecenie w swoim systemie produkcyjnym, bo cena zależy od wymiarów, materiału, wykończenia, ilości i technologii wykonania. Celem był sklep internetowy, w którym klient sam konfiguruje produkt i od razu widzi cenę dla różnych ilości – liczoną przez zewnętrzne API wyceny, a nie przez ręcznie utrzymywany cennik. Do tego przesłanie plików projektu, akceptacja podglądu, płatność online i panel, w którym zespół klienta sam zmienia konfigurator, zależności opcji i koszty dodatkowe, bez udziału programisty.

Moja rola

  • Backend Developer
  • Frontend Developer
  • Architektura aplikacji
  • Integracje API

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

Zakres funkcjonalny

  • Konfigurator produktów
    Sekcje i opcje produktu w kilkunastu typach pól – od suwaków i liczników po listy zasilane z API – z podpowiedziami i galeriami przykładów.
  • Wycena w czasie rzeczywistym
    Cena z zewnętrznego API wyceny dla kilku ilości, z wyborem korzystniejszego wariantu produkcji, cenami netto lub brutto i dopłatą za ekspres.
  • Reguły zależności opcji
    Dla każdego produktu osobno: widoczne i domyślne opcje oraz wybory, które pokazują lub ukrywają kolejne parametry.
  • Zamówienie z plikami i płatnością
    Pliki projektu z podziałem ilości między wzory, kody rabatowe, dostawa z terminem realizacji i płatność online Tpay.
  • Panel klienta i podgląd do akceptacji
    Statusy zamówień i płatności, akceptacja podglądu lub zgłoszenie poprawek oraz ponowienie zamówienia z poprzednimi plikami.
  • Panel administracyjny
    Katalog, konfigurator, koszty dodatkowe, zamówienia ze statusami i historią, klienci, rabaty i galeria realizacji.

Rozwiązanie

Konfigurator produktów zarządzany z panelu

Każdy produkt ma własny zestaw sekcji i opcji: pola wyboru, suwaki, liczniki, listy rozwijane, listy zasilane danymi z API i podglądy produktu. Opcje mają podpowiedzi, jednostki, wartości minimalne i maksymalne oraz galerie przykładów. Zespół klienta dodaje parametry i ustala ich kolejność w panelu metodą przeciągnij i upuść, bez zmian w kodzie.

Wycena w czasie rzeczywistym z zewnętrznego API

Wybrane parametry trafiają do zewnętrznego API wyceny, które liczy koszt produkcji. Aplikacja wysyła równolegle zapytania dla kilku wariantów produkcji i kilku ilości, a dla każdej pokazuje korzystniejszą cenę, cenę za sztukę, kwotę netto lub brutto i dopłatę za realizację ekspresową.

Reguły zależności między opcjami

Zespół klienta ustala dla każdego produktu, które sekcje i opcje są widoczne i domyślnie zaznaczone, a wybór konkretnej opcji pokazuje lub ukrywa kolejne. Opcje mogą też wykluczać warianty produkcji z wyceny i wymagać minimalnej ilości, więc klient nie zamówi kombinacji, której nie da się wykonać.

Koszty dodatkowe i ponowne zamówienia

Zespół klienta ustawia w panelu koszty dodatkowe naliczane do zamówienia, a przy ponownym zamówieniu jednorazowe koszty przygotowania produkcji nie są naliczane drugi raz.

Zamówienie z plikami, podglądem i płatnością Tpay

Po wycenie klient przesyła pliki projektu – grafiki, PDF, pliki wektorowe i czcionki – i dzieli ilość między wzory, a system pilnuje zgodności sumy z zamówieniem. Może zamówić płatny podgląd do akceptacji, wpisać kod rabatowy, wybrać dostawę z terminem realizacji liczonym w dniach roboczych i zapłacić online przez Tpay albo wybrać płatność tradycyjną.

Panel klienta i panel administracyjny

Klient widzi zamówienia ze statusem realizacji i płatności, akceptuje podgląd lub zgłasza poprawki i ponawia zamówienie z poprzednimi plikami. Zespół klienta obsługuje zamówienia w tabelach filtrowanych po statusie, dostaje powiadomienia o nowych zamówieniach, zmienia statusy z automatycznym e-mailem do klienta i prowadzi koszty, dostawy, płatności, rabaty oraz galerię realizacji.

Efekt

  • Klient widzi cenę od razu, bez czekania na ręczną wycenę, a zespół sam zmienia konfigurator w panelu.

Architektura

  • Monolit w Laravelu z warstwą serwisów za interfejsami rejestrowanymi w kontenerze, walidacją w Form Requests i stałymi domenowymi dla statusów zamówień, płatności i typów pól konfiguratora.
  • Konfigurator sterowany danymi: sekcje, opcje, zależności i ustawienia produktów w bazie, a każda opcja ma przypisany kod parametru zewnętrznego API, więc większość zmian w konfiguratorze to praca w panelu, nie w kodzie.
  • Klient API wyceny na Laravel HTTP Client z równoległymi zapytaniami dla wariantów produkcji, listami opcji zasilanymi z API i osobnym logiem kalkulacji do wyjaśniania rozbieżności cen.
  • Płatności Tpay z potwierdzeniem transakcji w API operatora po powiadomieniu zwrotnym, historią zdarzeń każdego zamówienia i danymi dostępowymi szyfrowanymi w bazie, edytowanymi w panelu.
  • Pliki klientów i podglądy w prywatnym magazynie poza katalogiem publicznym; scheduler co noc usuwa pliki niepowiązane z zamówieniami i uzgadnia listę newslettera z usługą e-mail marketingu.
  • Frontend w Blade i JavaScript (jQuery, Uppy), panel administracyjny z tabelami ładowanymi z serwera, cache modeli w Redis oraz logi błędów w bazie i na komunikatorze zespołu.

Mój wkład

  • Zbudowałem platformę od podstaw jako jedyny programista – backend i frontend: od szkieletu aplikacji, przez konfigurator i wycenę, po proces zamówienia, płatności i oba panele.
  • Zaprojektowałem integrację z zewnętrznym API wyceny: mapowanie opcji konfiguratora na parametry systemu produkcyjnego, równoległe zapytania dla wariantów produkcji i wybór korzystniejszej ceny dla każdej ilości.
  • Zbudowałem panel, w którym zespół klienta sam prowadzi konfigurator, reguły zależności opcji, koszty dodatkowe, dostawy, płatności i kody rabatowe.
  • Rozwijałem i utrzymywałem platformę po starcie sprzedaży: nowe parametry wyceny, kilka wzorów w jednym zamówieniu, ceny netto i brutto, ponowienie zamówienia, logowanie zapytań do API oraz analityka ze zgodami cookies.

Technologie

  • Laravel
  • PHP
  • MySQL
  • Redis
  • REST API
  • Laravel Passport
  • Scheduler
  • Tpay
  • Blade
  • JavaScript
  • jQuery
  • DataTables
  • Uppy
  • E-mail

Wyceniasz każde zamówienie ręcznie? Napisz, od czego zależy cena. 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