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
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
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
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
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
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 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
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