Gastronomia

Naprawa błędów w systemie zamówień dla piekarni

System gubił co 12-ste zamówienie. Wdrożyliśmy poprawne logowanie błędów i stabilny backend w Node.js. Od 3 miesięcy nie było ani jednej reklamacji na brak zamówienia w systemie.

0 zgubionych zamówień
KlientPiekarnia Starowiejska
BranżaGastronomia
HarmonogramMaj–Czerwiec 2024

Piekarnia Starowiejska miała problem, który każdego ranka generował stres i straty finansowe. Ich system zamówień online po prostu nie dowoził tematów, a klienci odchodzili z kwitkiem spod lady. Naprawiliśmy kod tak, żeby każde kliknięcie kończyło się świeżą bułką w torbie klienta.

Node.jsPostgreSQLLogowanie błędówOptymalizacja backenduMentoring techniczny

Wyzwanie

Głównym problemem było to, że co 12. zamówienie znikało w czarnej dziurze serwera. Właściciel tracił średnio 340 zł dziennie na zwrotach i drugie tyle na psuciu opinii w Google. Kod był napisany chaotycznie, bez żadnych mechanizmów sprawdzających, co się dzieje, gdy 19 osób naraz próbuje kupić chleb o 6:30 rano.

Pracownik piekarni musiał ręcznie przepisywać zamówienia z maila do zeszytu, bo system nie generował poprawnych list produkcyjnych. Brakowało logów, więc poprzedni programiści rozkładali ręce, twierdząc, że u nich wszystko działa. Biznes stał w miejscu, bo nikt nie ufał technologii, która miała pomagać.

Podejście

Zaczęliśmy od czterodniowego audytu kodu i bazy danych. Zamiast od razu pisać wszystko od nowa, podpięliśmy monitoring, który wyłapywał błędy w czasie rzeczywistym. Okazało się, że baza danych po prostu 'zapominała' o połączeniach, gdy ruch robił się większy.

Przez dwa tygodnie pracowałem ramię w ramię z ich juniorem, ucząc go, jak pisać testy, które wyłapują takie błędy przed wrzuceniem kodu na serwer. Siedzimy nad tym, aż ruszy – to była nasza zasada. Żadnej magii, tylko czysta logika i poprawne zarządzanie pamięcią w Node.js.

Rozwiązanie

Wdrożyliśmy stabilny backend oparty na Node.js z poprawioną obsługą puli połączeń do bazy danych. Dodaliśmy system kolejkowania, który pilnuje, żeby nawet przy nagłym skoku ruchu żadne zamówienie nie zostało pominięte. Jeśli serwer ma gorszy moment, system ponawia próbę zapisu automatycznie.

Stworzyliśmy też prosty panel dla piekarzy na tablety. Teraz widzą dokładnie, ile bagietek muszą upiec na daną godzinę, bez żadnego przepisywania z kartek. Całość loguje teraz każdą akcję użytkownika, więc w razie problemu wiemy o nim w 2 minuty, a nie po trzech dniach od wściekłego klienta.

Rezultaty

System odzyskał stabilność, a pracownicy zaufanie do narzędzia. Piekarnia przestała tracić pieniądze na błędach technicznych i mogła skupić się na pieczeniu chleba.

0
zgubionych zamówień w 3 miesiące
42 min
zaoszczędzone codziennie na logistyce
18%
wzrost liczby zamówień online
3 min
czas reakcji na błąd krytyczny

Harmonogram

  1. 12 Maj 2024
    Audyt kodu i wpięcie monitoringu błędów
  2. 21 Maj 2024
    Naprawa wycieków pamięci i optymalizacja zapytań SQL
  3. 4 Czerwiec 2024
    Testy obciążeniowe przy 52 symulowanych koszykach
  4. 15 Czerwiec 2024
    Wdrożenie nowego panelu produkcyjnego dla piekarzy

"Bałem się, że będziemy musieli wydać 30 tysięcy na nowy system. Eric znalazł błędy w kilka dni i naprawił to, z czym inni walczyli miesiącami. W końcu śpię spokojnie, bo wiem, że sklep działa."

Marek Wiśniewski Właściciel, Piekarnia Starowiejska Sierpień 2024