Blog

Notatki o wytwarzaniu i produktach

Praktyka z naszych projektów: architektura, wyceny, integracje i wsparcie.

Jak obroniliśmy klientów: historia jednego przejścia między agregatorami mailingowymi

Jak obroniliśmy klientów: historia jednego przejścia między agregatorami mailingowymi

W trakcie tworzenia usługi mailingowej zaczęliśmy od Mailchimp, a następnie przeszliśmy na DashaMail. Kiedy firma poprosiła o przejście na wewnętrzny agregator, przeprowadziliśmy analizę i zidentyfikowaliśmy krytyczne ograniczenia: brak API, brak webhooków statusu, brak obciążenia. Zaproponowaliśmy kompromis polegający na użyciu wewnętrznego agregatora tylko dla e-maili infrastrukturalnych i pozostawieniu klientów na zewnętrznym. Usługa stała się wieloagregacyjna.

Usługa biuletynu w Laravel: jak połączyliśmy wysyłanie wiadomości e-mail i SMS dla wszystkich usług wewnętrznych

Usługa biuletynu w Laravel: jak połączyliśmy wysyłanie wiadomości e-mail i SMS dla wszystkich usług wewnętrznych

W dużym projekcie każda usługa wysyłała e-maile i SMS-y na swój sposób: powielanie kodu, brak Pulpitu nawigacyjnego statusu, długie poprawki. Zaprojektowaliśmy kompleksową usługę biuletynu w Laravel i RabbitMQ z trzech rozwiązań-dashboard, API i nadawcy. Dostawcy łączą się raz, statusy są widoczne za pośrednictwem webhooków agregatorów, a zespół nie marnuje już czasu na zduplikowane integracje.

Asynchroniczna aktywacja kart podarunkowych: kontynuacja historii

Asynchroniczna aktywacja kart podarunkowych: kontynuacja historii

Po automatyzacji magazynu wzrosła aktywność na stronie. W szczytowe dni liczba aktywacji sięgała dziesiątek tysięcy dziennie. Aktywacja synchroniczna zaczęła zawodzić: opóźnienia, powielanie żądań, błędy w danych. Przenieśliśmy aktywację na przetwarzanie asynchroniczne za pośrednictwem RabbitMQ i Laravel Jobs, zwiększyliśmy liczbę pracowników i podłączyliśmy WebSockets, aby natychmiast zaktualizować saldo. Obciążenie spadło, duplikaty zniknęły, użytkownik natychmiast widzi wynik.

Jak zautomatyzowaliśmy zarządzanie zapasami kart podarunkowych: od Excela do systemu z API dla 1C

Jak zautomatyzowaliśmy zarządzanie zapasami kart podarunkowych: od Excela do systemu z API dla 1C

Firma oferująca rozwiązania prezentowe prowadziła ewidencję kart i kodów promocyjnych w Excelu. Wymiana punktów na nagrody wymagała ręcznej obsługi: klient składał wniosek, a pracownik sprawdzał aktywność karty i wysyłał nagrodę. Stworzyliśmy system w Laravelu z panelem do ewidencji, aktywacji i rezerwacji kart, raportami oraz API dla 1C. Wyeliminowaliśmy ręczną pracę, dzięki czemu specjalista mógł skupić się na ważniejszych zadaniach.

Jak zrezygnowaliśmy z Vue.js na rzecz niezawodności: historia jednego modułu uwierzytelniania

Jak zrezygnowaliśmy z Vue.js na rzecz niezawodności: historia jednego modułu uwierzytelniania

Powtarzające się problemy z zapętlaniem logowania skłoniły nas do zbadania przyczyn. Okazało się, że starsze urządzenia i przeglądarki w połączeniu z firmowym oprogramowaniem zabezpieczającym generowały ruch przypominający atak DDoS z powodu specyfiki Vue.js. Podjęliśmy decyzję o przeniesieniu usługi uwierzytelniania na najprostszy stos: HTML, CSS i czysty JavaScript, bez bibliotek. Po migracji problem całkowicie zniknął, a logowanie działa stabilnie także na starszych urządzeniach użytkowników.

ROSTU-ekosystem dla rozwoju małych firm

ROSTU-ekosystem dla rozwoju małych firm

ROSTU to białoruska platforma SaaS, która łączy katalog w celu przyciągnięcia klientów, CRM, widżet nagrywania online, księgowość magazynową i analitykę w jednym systemie. Podstawowa funkcjonalność jest bezpłatna. Bez węzłów kasowych i skomplikowanych integracji. Nadaje się do salonów, stacji paliw, restauracji, sklepów, klinik i klubów fitness.

Jak vpodarok przeszedł z monolitu na Yii1 do architektury usług z własnym przetwarzaniem

Jak vpodarok przeszedł z monolitu na Yii1 do architektury usług z własnym przetwarzaniem

Projekt Vpodarok rozpoczął się jako zwykły internetowy sklep z bonami podarunkowymi na Yii1. Z czasem przekształcił się w ekosystem z witrynami sklepowymi B2B, interfejsami API i złożoną logiką biznesową. Mówimy, w jaki sposób zespół stopniowo przenosił jądro do oddzielnej usługi przetwarzania, dlaczego potrzebne było Złącze danych i jakie kompromisy musiały zostać zaakceptowane podczas przechodzenia do modelu usługi

Porozmawiajmy o projekcie

Opowiedz o zadaniu — wycenimy w kilka dni

Kontakt