Praktycznie zastosowanie funkcji tablic

Funkcje tablic to bardzo bogate narzędzia ułatwiające pracę programisty PHP. Możemy przy ich pomocy modyfikować zawartość tablicy, sortować, wykonywać na każdym elemencie jakąś instrukcję czy też dowolnie przekształcać. W poniższym wpisie chciałbym przedstawić kilka praktycznych przykładów pokazujących w czym te funkcje mogą nam się przydać. Przykłady te nie wyczerpują tematu, ale mam nadzieję, że chociaż w minimalnym stopniu zaznajomią z tematem.

Umieszczanie elementu w środku tablicy

Wyobraźmy sobie sytuację, w której chcemy dodać nowy element do tablicy. Aby dopisać element na końcu tablicy możemy użyć array_push, na początku używamy array_shift, a co żeby umiescić element gdzieś w środku tablicy? Z pomocą przychodzi nam funkcja array_splice, która służy do usunięcia części tablicy i zamienia ją na coś innego.

<?php

$arr = ['A', 'B', 'D'];


array_splice($arr, 2, 0, ['C']);


print_r($arr);

W powyższym przykładzie mamy tablicę, w której znajdują się kolejne elementy alfabetu z jedną brakująca literą. Aby poprawić nasz alfabet usuwamy „zero” elementów i dodajemy brakujące C. Dla powyższego kodu otrzymamy poprawne i kompletne pierwsze cztery litery alfabetu.

Array

(

    [0] => A

    [1] => B

    [2] => C

    [3] => D

)

Usuwanie elementów

Jeśli chodzi o usuwanie pierwszego i ostatniego elementu tablicy to możemy posłużyć się funkcjami array_pop oraz array_unshift, ale przypuśćmy, że chcemy usunąć jakiś obiekt z tablicy wskazując jego właściwości. Przykładwo chcemy usunąć obiekt instancji klasy Foo który posiada id 18.

<?php


class Foo

{

    private $id;

    public function __construct($id)  {

        $this->id = $id;

    }

    public function getId() {

        return $this->id;

    }

}


$arr = [new Foo(17), new Foo(18),  new Foo(16)];


$idToDelete = 18;


$result = array_filter($arr, function(Foo $foo) use($idToDelete) {

    return $foo->getId() !== $idToDelete;

});

Wykorzystując funkcję array_filter w zmiennej $result mamy tablicę bez obiektu o id 18. array_filter wywoływana bez parametrów zwróci tablice usuwając z tej wejściowej takie elementy jak w puste stringi oraz null.

Posiadając tablicę składającą się z typów prostych takich jak np string możemy wykorzystać funkcję array_search, która pozwoli nam wyszukać index w tablicy pod którym znajduje się dany element.

<?php


$arr = ['A', 'B', 'X', 'C'];


if (($key = array_search('X', $arr, $strict = true)) !== FALSE) {

    unset($arr[$key]);

}


print_r($arr);

W wyniku wywołania powyższego kodu otrzymamy tablicę bez 'iksa’.

Array

(

    [0] => A

    [1] => B

    [3] => C

)

Jeśli problematyczne okaże się to, że nie mamy ciągłości w kluczach tablicy (brakuje wartości pod drugim indeksem) możemy wykorzystać funkcję array_values.

$arr = array_values($arr);

Dopisanie powyższego kodu za klamrą zamykającą z warunku w poprzednim przykładzie zmieni wynik na taki posiadający ciągłość w kluczach.

Array

(

    [0] => A

    [1] => B

    [2] => C

)

Sortowanie tablicy po wartości obiektu

Dla prostych, jednowymiarowych tablic mamy szereg funkcji pozwalających na posortowanie jej. Dzielą się one na te które sortują po kluczach lub wartościach lub też definiują kierunek w którym elementy zostaną posortowane. Takimi funkcjami są m. in. asort, ksort, arsort, krsort itd.

<?php



class Foo

{

    public $id;

    public function __construct($id)  {

        $this->id = $id;

    }

}


$arr = [new Foo(17), new Foo(18),  new Foo(16)];


array_multisort(

    array_column($arr, 'id'), SORT_ASC, $arr

);


print_r($arr);

W powyższym kodzie znajduje się prosta klasa Foo która posiada jedno publiczne pole $id inicjowane w konstruktorze. Wykorzystanie funkcji array_column pozwala zwrócić wartości z poszczególnych pól obiektu (PHP 7.0) lub kolumn w przypadku tablic asocjacyjnych. W połączeniu z funkcją array_multisort pomoże nam posortować tablice instancji Foo.

Array

(

    [0] => Foo Object

        (

            [id] => 16

        )

    [1] => Foo Object

        (

            [id] => 17

        )

    [2] => Foo Object

        (

            [id] => 18

        )

)

Alternatywną metodą do posortowania tablicy obiektów może być ta przedstawiona poniżej z użyciem funkcji uasort. Rezultat będzie taki sam jak dla kombinacji funkcji array_column i array_multisort.

uasort ($arr, function (Foo $a, Foo $b) {

    return $a->id > $b->id;

});

Porównywanie tablicy

Sprawdzanie czy dwie tablice składają się tylko i wyłącznie z tych samych elementów w pewnych przypadkach może okazać się kłopotliwe.

<?php


$foo = ['A', 'B'];

$bar = ['B', 'A'];


var_dump($foo === $bar);

Te tablice zawierają te same elementy, ale powyższy kod zwróci false z tego względu, że operator porównania w przypadku tablic sprawdza również zgodność kluczy. Możemy oczywiście te dwie tablice najpierw posortować, ale ciekawszym i w niektórych przypadkach lepszym rozwiązaniem jest porównanie różnic tablic przez wywołanie funkcji array_diff.

array_diff($foo, $bar) === array_diff($bar, $foo)

Znajdowanie maksymalnej wartości pola obiektu

Mamy sytuację w której chcemy poznać maksymalną wartość danego pola obiektu, np. najwyższą cenę produktu.

<?php


class Product

{

    private $price;

    public function __construct($price) {

        $this->price = $price;

    }

    public function getPrice()  {

        return $this->price;

    }

}


$arr = [

    new Product(2.00),

    new Product(3.45),

    new Product(1.23)

];


$max = max(array_map(function(Product $product) {

    return $product->getPrice();

}, $arr));

W rezultacie otrzymamy oczywiście 3.45. W powyższym przykładzie wykorzystaliśmy funkcję array_map która pozwoliła nam z każdego produktu wyciągnąć cenę. Jeśli posłużylibyśmy się tutaj obiektami z publicznymi właściwościami (lub tablicą) moglibyśmy wykorzystać wcześniej poznaną funkcję array_column.

Autorem tekstu jest Jakub Sładek.

Code Review

Code review to jeden z najlepszych sposobów, aby pomóc zespołowi upewnić się, że pisze najlepszy możliwy kod. Daje możliwość nie tylko wyłapania błędów, ale również przedyskutować wprowadzane zmiany, dając wszystkim członkom zespołu możliwość zapoznania się z nowymi funkcjonalnościami.

Z jednej strony code review wydawać się może zbędnym wysiłkiem w sytuacji gdy aplikacja jest pokryta testami TDD. W tej sytuacji możemy bez większych przeszkód zmieniać kod lub dopisać jego nowe elementy wraz z kolejnymi testami, które obrazują jak oczekujemy, aby kod działał. Uruchamiamy testy i w jednej chwili wiemy czy aplikacja działa lub nie.

Z drugiej strony jako autor kodu zawsze stawiam pewne założenia dotyczące sposobu działania systemu i czego użytkownik potrzebuje, dlatego przegląd kodu przez drugiego programistę daje szanse wyłapania błędów logicznych lub problemów strukturalnych, których komputer nie może zobaczyć. Dodatkowo osoba wykonująca code review zaznajamia się z fragmentem systemu, nad którym może aktualnie nie pracować i w sytuacji kryzysowej dokonać niezbędnych poprawek lub zmian.

W niniejszym artykule chciałbym podzielić się paroma praktykami, w którym code review przebiega płynnie niezależnie po której stronie procesu oceny stoimy.

1. Nie karz. Celem code review jest powstanie najlepszego możliwego kodu. Staramy się być pomocni i upewniajmy się, że komentarze nie wydają się oskarżycielskie.

2. Zadawaj pytania. Należy zadawać pytania odnośnie wszystkiego, czego nie mamy pewności. Kod jest jasny dla autora, niemniej dla recenzenta duże partie kodu nie zawsze bywają oczywiste. Dzięki pytaniom i odpowiedziom uzyskujemy większą klarowność nad daną funkcjonalnością. W zespole pracujemy razem. Kompromis wymaga rozmowy i zrozumienia.

3. Nikt nie jest właścicielem kodu. Staramy się unikać sytuacji „własności kodu”. Gdy któryś z członków zespołu przypisuje własność kodu, wówczas staje się mniej podatny na sugestie i zmiany sądząc, że pierwotna wersja jest doskonała.

4. Przekaż pełną recenzję. W trakcie code review przeglądamy cały kod, a nie skupiamy się wyłącznie na fragmentach lub klasach. Jeśli czegoś nie wiemy… patrz pkt. 2. W przeciwnym wypadku narażamy autora na wykonywanie bezproduktywnych poprawek tylko dlatego, że recenzent nie przejrzał całego kodu.

Reasumując, staramy się nie tylko patrzeć na składnie kodu, ale także na jego architekturę. Przekazujemy własne opinie i sugestie dochodząc wspólnie do jak najlepszych rozwiązań.

W internecie oczywiście jest wiele tipów i praktyk code review. Najlepiej znanym jest artykuł na gitlabie: https://gitlab.com/help/development/code_review.md niemniej mam nadzieje, że i nasze drobne sugestie przekonają czytelnika o pozytywnych aspektach niniejszego procesu.

Autorem tekstu jest Marek Rode.

#221 Czym jest perfect hospitality?

Firmy dążą do poprawy jakości obsługi klienta. Zdarzają się takie biznesy, w których jej poziom jest wręcz legendarny. Mowa między innym o Disney, Zappos, czy też Warby Parker. Każda z tych firm wypracowała swój własny sposób obsługi klienta i wie, jakie procedury, a może ich brak sprawiają, że klient czuje się naprawdę wyjątkowo. W Polsce także pojawiają się marki, które kierują się własnymi kodeksami, jednym z nich jest Supreme Service, a drugim Perfect Hospitality. Co kryje się pod tymi hasłami?
Czytaj dalej

Post-Payment zyskuje sympatię polskich klientów

Polski rynek e-commerce nieustannie się rozwija. Rokrocznie przybywa zainteresowanych zakupami online oraz szeregiem oferowanych przez nie możliwości. Właściciele sklepów internetowych, by poprawić swoją pozycję na rynku i wyprzedzić konkurencję muszą nieustannie podążać za trendami i korzystać z nowinek technologicznych. Dokonanie zakupu w domu, z poziomu aplikacji mobilnej? Bezpłatny zwrot towaru zakupionego w Internecie w dowolnej placówce stacjonarnej? Dzięki dynamicznemu rozwojowi polskiego e-commerce to już nie problem. Co jeszcze może pomóc w wyjściu naprzeciw oczekiwaniom klientów, ułatwieniu procesu zakupowego oraz zwiększeniu sprzedaży? Punktem newralgicznym okazuje się zapłata za zakupione towary.

Kup teraz – zapłać później

Rozwiązaniem, któremu się dziś przyjrzymy, są odroczone płatności. Usługi typu post-payment dopiero zaczynają zdobywać polski rynek, podczas, gdy na zachodzie już ponad 30% transakcji jest realizowanych przy ich pomocy. Podążenie za tym trendem pozwoli na zwiększenie konkurencyjności marki. Sposobność decydowania o metodzie i terminie zapłaty oraz możliwość planowania swoich zakupów z wyprzedzeniem, w oparciu o przyszłe środki finansowe sprawiają, że podjęcie decyzji zakupowej przez klienta staje się znacznie łatwiejsze. Istotną zaletą tego rozwiązania jest wzrost współczynnika konwersji sprzedaży, który szacowany jest nawet na 10-40%. Co jednak najważniejsze – odroczone płatności w pełni zabezpieczają transakcję, przejmując na siebie 100% ryzyka braku płatności oraz ewentualne koszty windykacyjne.

pasek korzyści

Dzięki wdrożeniu odroczonych płatności możliwe staje się otrzymanie towaru przed dokonaniem zapłaty, bez angażowania środków własnych, dzięki czemu klientowi łatwiej przychodzi podjęcie decyzji zakupowej. Klient otrzymuje tu możliwość zamówienia kilku różnych wersji danego produktu oraz dokładnego obejrzenia swojego zamówienia, bez ponoszenia jakiegokolwiek ryzyka. Wykorzystanie tej metody płatności pozwala na dokonanie zakupu, pomimo chwilowego braku środków finansowych na koncie, a także umożliwia rozłożenie należności na raty, w przypadku wyboru takiej opcji zapłaty.

Nowa funkcjonalność w systemie e-commerce

Na polskim rynku usługi post-payment świadczy np. firma PayPo. Oferująca innowacyjną, przeznaczoną dla sklepów internetowych formę płatności firma, zapewnia konsumentom możliwość odroczenia zapłaty za towar aż o 21 dni, nie generując przy tym dodatkowych kosztów. Jej model działania można przedstawić w zaledwie kilku krokach.

pasek jak działamy

PayPo oferuje swoim klientom intuicyjny system transakcyjny, składający się z dwóch kroków, a decyzja o odroczeniu podejmowana jest w czasie krótszym niż 10 sekund. Zastosowanie tego typu płatności w sklepie internetowym wpływa na zwiększenie koszyka zakupowego średnio o 20%.

Wychodząc naprzeciw potrzebom i oczekiwaniom klientów, firma i-systems wdrażająca dedykowane oprogramowanie e-commerce, zdecydowała się na podjęcie współpracy z PayPo, tworząc łatwy w implementacji moduł płatności odroczonych. Rozwiązanie to dostępne jest dla klientów i-systems w core systemu, w projektach wdrażanych z użyciem praktyki Continuous Integration.

Klienci zainteresowani wdrożeniem lub szczegółami działania odroczonych płatności mogą kontaktować się w tej kwestii ze swoim opiekunem ze strony i-systems, bądź zgłosić się bezpośrednio do PayPo, uzupełniając formularz na stronie: https://paypo.pl/home/merchants

Nowa definicja SaaS

Technologia to obszar, w którym zmiany dokonują się niemal każdego dnia. Systemy, zwłaszcza te przeznaczone do sprzedaży internetowej, zarówno w modelu B2B jak i B2C, regularnie wzbogacane są o nowe funkcjonalności, bądź zmieniają specyfikę obecnych. Wszystko to warunkowane jest nieustannie rosnącymi potrzebami klientów.

W i-systems, od początku działalności firmy, główną ideą przyświecającą realizacji wszystkich projektów jest jakość. Dostarczanie klientom najlepszych rozwiązań technologicznych, to podstawa naszego działania. W listopadzie 2016 roku powstała idea uruchomienia zespołu programistów odpowiedzialnych za wdrożenie metody Continuous Integration.

Najważniejszym zadaniem tego działu, stało się skuteczne wdrożenie metody i umożliwienie klientom i-systems ciągłego rozwoju ich systemów sprzedaży. Metoda CI polega na wspólnej pracy zespołu programistów, którzy wprowadzają zmiany w sposób ciągły, scalając je nawet co kilka minut. Wspólna praca nad kodem wpływa na jego najwyższą jakość i sprawia, że wytworzony kod jest spójny, a praca systemu efektywna przez wiele lat.

Pierwszy sklep oparty o Continuous Integration wdrożony został przez i-systems już w maju 2017 roku. Obecnie w swoim portfolio posiadamy aż 16 sklepów internetowych uruchomionych w metodzie CI, a ich liczba stale rośnie.

Dla marki wdrożenie CI oznacza:
– systematyczną rozbudowę systemu sprzedaży internetowej, niezależnie czy jest to sprzedaż B2B czy też B2C o innowacyjne funkcjonalności tworzone we współpracy z działem R&D
– zapewnienie bezpieczeństwa, poprzez przeprowadzanie automatycznych testów, dzięki którym do systemu wprowadzane są tylko w pełni zweryfikowane elementy
– jeszcze szybszy time to market rozumiany jako przejście od koncepcji funkcjonalności do wdrożenia
– gwarancję odpowiedzialności dostawcy systemu za jakość rozwiązania opartego o przetestowane elementy
– przewidywalny koszt rozwoju systemu e-commerce dzięki precyzyjnie określonym warunkom współpracy
– zrównoważony i stały rozwój systemu e-commerce

Stałe dostarczanie do systemu nowych elementów i funkcjonalności sprawiło, że konieczna stała się zmiana wykorzystywanego dotychczas modelu biznesowego. Tak właśnie powstała koncepcja modelu o nazwie „Dedykowany SaaS”. Okazuje się bowiem, że rozwiązania dedykowane i te oferowane w modelu SaaS nie wykluczają się wzajemnie, a wręcz doskonale ze sobą współgrają. Połączenie tych modeli e-commerce zapewnia klientom zupełnie nową jakość i sprawia, że możliwe staje się nie tylko wykorzystanie ich zalet, ale i wyeliminowanie minusów.

W efekcie, otrzymujemy innowacyjny model systemu, który charakteryzuje się:
– niższym kosztem wdrożenia i rozwoju oprogramowania
– możliwością tworzenia dedykowanych rozwiązań
– dostępem do wszystkich funkcjonalności oferowanych przez dostawcę oprogramowania
– szybkim Time to Market
– umożliwieniem wieloletniego rozwoju

Co istotne, dedykowany SaaS stanowi gwarancję obniżenia kosztu inwestycji początkowej w projekt, a wykorzystanie tego modelu biznesowego sprawia, że klientowi zapewnione zostaje pełne bezpieczeństwo. W przypadku, jeżeli klient podejmie decyzję o chęci samodzielnego hostowania i utrzymywania oprogramowania, ma on możliwość wykupienia licencji posiadanego rozwiązania na własność.

Continuous Integration to przyszłość e-commerce. Firma i-systems jako pierwsza na rynku, poprzez wykorzystanie praktyki CI, oferuje system sprzedaży rozwijany jako dedykowany SaaS. Dzięki tej metodzie klienci posiadają stabilne i zawsze aktualne systemy, pozwalające na wieloletni rozwój i wzmocnienie swojej pozycji rynkowej.

Ekspansja zagraniczna marki Vistula razem z i-systems

Marka Vistula zaczyna rozwijać sprzedaż online także na zagranicznych rynkach. Wspólnie z i-systems, została przygotowana nowa wersja systemu e-commerce marki. Sklep internetowy Vistula dostępny jest teraz także w języku angielskim i czeskim, sprzyjając tym samym rozwojowi sprzedaży transgranicznej.

Po zakończonym wdrożeniu sklepu internetowego na rodzimym rynku, marka Vistula zdecydowała się na dalszy rozwój usług i dopasowanie swojej oferty online do zagranicznych klientów. Oprócz wersji angielskojęzycznej, która dostosowana jest do szerokiego grona odbiorców z zagranicy, działania marki zostały skierowane również nieco na południe. Efektem jest uruchomienie sklepu w języku czeskim. System obsługuje na ten moment dostawy do klientów aż z 25 krajów.

Nowe wersje językowe sklepu to nie wszystko. Każda z nich posiada odpowiedniki istniejących banerów i grafik ze strony polskojęzycznej sklepu. Zaprojektowano również wersje walutowe, zapewniające automatyczne przeliczanie cen. Dla wersji angielskojęzycznej domyślną walutą jest euro. Natomiast, sklep w wydaniu czeskim oferuje ceny w przeliczeniu na koronę czeską. Ceny w odpowiednich walutach widoczne są po wybraniu odpowiedniej wersji językowej.

Nowe wersje językowe to dla nas krok w kierunku rozszerzenie sprzedaży na europejski rynek – twierdzi Aneta Kazanowska, Dyrektor Sklepów Internetowych w Vistula Group S.A. – Prawidłowa realizacja sprzedaży transgranicznej możliwa jest, gdy wszystkie procesy związane z transakcjami online są zautomatyzowane i zapewniają swobodny przepływ informacji o zamówieniach. Konieczna zatem była integracja systemu ze środowiskiem magazynowo-księgowym, procesami logistycznymi oraz polityką rabatową – dodaje Aneta Kazanowska.

Wszystkie wspomniane rozwiązania dopasowane są do odpowiednich wersji językowych i walutowych, aby sprawnie realizować zamówienia z poziomu angielskiej i czeskiej strony.

Nowe wersje językowe sklepu Vistula dostępne są pod adresami: evistula.cz oraz vistula.eu

Rozwiązania dla sklepów internetowych Rozwiązania omnichannel

 

#220 Dlaczego klienci zwracają zakupione produkty?

Prowadząc sklep internetowy, musimy pogodzić się z tym, że klienci zwracają towary. Mają do tego prawo, mogą odstąpić od umowy kupna-sprzedaży i jeśli zrobią to w odpowiednim terminie, to musimy się zrozumieć, że z jakiegoś powodu produkt nie spełnił ich oczekiwań. Jakie są najczęstsze powody zwrotów i dlaczego jest to dla nas bardzo ważna informacja? O tym przeczytacie w dzisiejszym poradniku.
Czytaj dalej

#219 Dlaczego nie sprzedajemy? Najczęściej popełniane przez sprzedawców błędy.

Internetowy kanał sprzedaży cały czas rośnie. Widać to po statystykach, które podawane są w różnych raportach i zestawieniach. Mówi się, że w 2018 roku nasz rynek sprzedaży w internecie wart będzie 40 miliardów złotych. Kupujemy w sieci wszystko, zaczynając od drobiazgów, a na meblach i sprzęcie z górnych półek kończąc. Pomimo dużej konkurencji i coraz większego progu wejścia nowi gracze nie muszą być skazani na porażkę, wszystko zależy od zastosowanych przez nich rozwiązań i technologii. Dodatkowo należy zmienić sam sposób myślenia, bowiem online i offline stały się kanałami wzajemnie się przeplatającymi. Czytaj dalej

Firma i-systems w rankingu FT1000

6 kwietnia 2018 roku, przy współpracy Financial Times oraz Statista już po raz drugi opublikowany został ranking 1000 najszybciej rozwijających się przedsiębiorstw w Europie. Swoje miejsce w tej klasyfikacji ponownie znalazła firma i-systems, tworząca dedykowane oprogramowanie e-commerce.

FT1000, to prestiżowy ranking powstający przy współpracy Financial Times – jednego z największych światowych dzienników gospodarczych i finansowych, wydawanego już od 160 lat oraz Instytutu Badawczego Statista – wiodącego dostawcy danych o rynkach i konsumentach. Stanowi on ciekawe spojrzenie na kwestie rozwoju przedsiębiorstw, wartości jakie on za sobą niesie oraz ryzyk z nim związanych.

Miejsce firmy w rankingu zdeterminowane jest wzrostem przychodów, jakie dana firma odnotowała w latach 2013-2016. Aby zakwalifikować się do udziału w rankingu, przedsiębiorstwa, musiały w roku 2013 wygenerować przychody powyżej 100 000 €, natomiast w roku 2016, wartość ich przychodów musiała przekraczać próg 1 500 000 €. Według danych przedstawionych przez Financial Times i Statista, i-systems, w latach 2013-2016, może pochwalić się wzrostem średniej wartości przychodów na poziomie 44,4%. Dla firmy, znalezienie się na liście 1000 najszybciej rozwijających się przedsiębiorstw w Europie to ogromny sukces oraz znak, że poziomem swoich działań dorównuje ona najbardziej cenionym na rynku graczom.

W tym roku, (podobnie jak w poprzedniej edycji), wiodącą pozycję w badaniu odnotowały firmy z Anglii (na liście znalazły się aż 74 firmy reprezentujące ten właśnie kraj). W rankingu FT1000, licznie reprezentowane były także kraje, takie jak Francja, czy Włochy. Polska w tej klasyfikacji była reprezentowana łącznie przez 18 firm.

Z pełną listą przedsiębiorstw, które zakwalifikowały się do FT1000 można zapoznać się na stronie ft.com. Cały ranking zostanie także dołączony, jako suplement, do papierowego wydania gazety Financial Times, które ukaże się 30 kwietnia.

Podsumowanie Q1 2018 w i-systems

Wszystko wskazuje na to, że rok 2018 będzie rokiem dużych technologicznych zmian w e-commerce. Świadczył o tym już pierwszy kwartał. Zapraszamy do lektury podsumowania pierwszych trzech miesięcy w roku.

Nowe projekty

Najciekawsze rozpoczęte projekty w pierwszym kwartale roku dotyczyły głównie rozwiązań B2B. Pierwszym z nich jest system dla jednego z największych importerów i dystrybutorów polskiej branży HoReCa. Drugi projekt dotyczy firmy zajmującej się produkcją i dystrybucją systemów kominowych i wentylacyjnych. Zakres tego systemu obejmuje zarówno rozwiązania B2B, jak i rozwiązania B2C.

Kolejny z kluczowych projektów dotyczy rozwiązania omnichannelowego dla jednej z najbardziej znanych polskich marek, posiadającej około 100 salonów stacjonarnych zlokalizowanych na terenie całego kraju. W styczniu rozpoczęły się także prace dla sektora automotive. Szczegóły rozwiązań będą publikowane w kolejnych podsumowaniach kwartałów.

Trendy w rozwoju systemów

Duża część najważniejszych konsumenckich ocen wobec sklepów internetowych jest powiązana z czasem i jakością dostawy. Z drugiej strony, coraz częściej firmy nie chcą zamrażać przychodów na magazynowanie zapasów produktów. Naprzeciw tym oczekiwaniom wychodzi dropshipping. Dropshipping to model polityki magazynowej, w którym wysyłka zamówienia do klienta odbywa się po stronie producenta, dystrybutora czy hurtownika. Rola sklepu internetowego skupia się natomiast na działaniach mających na celu zachęcenie do zakupu, przyjęciu zamówienia oraz na przekierowaniu informacji do partnera biznesowego, w celu realizacji wysyłki. Przyjęcie takiego modelu ma wiele korzyści. Jest sposobem na poszerzenie oferty sklepu internetowego o asortyment wielu producentów, a także pozwala ograniczyć koszty związane z magazynowaniem oraz transportem towarów.

Aby stworzyć dropshipping w e-commerce, na początku wymagane jest pobranie informacji o produktach ze strony partnera biznesowego oraz zmapowanie ich do systemu sprzedaży. Ten proces musi być powtarzalny, ponieważ asortyment u producenta jest zmienny. Następnie weryfikuje się dane o kategoriach, stawkach VAT oraz marżach dla poszczególnych produktów czy całych kategorii.

Oprócz standardowego rozwiązania, część marek wdraża i wykorzystuje tak zwany odwrócony dropshipping. Polega on na sprzedaży własnych produktów innym sklepom internetowym, które to z kolei sprzedają je klientom docelowym. Taka polityka sprzedażowa może sprawdzić się, w momencie gdy marka poprzez swoich partnerów chce zaistnieć na rynku innym niż Polski.

Strategiczny rozwój organizacji

Część działań spółki jest skierowana do osób zainteresowanych pracą w i-systems. Wśród takich działań, w ostatnich trzech miesiącach, można wymienić m.in. „Ferie z programowaniem”, na które zaproszone były osoby chcące rozpocząć przygodę z IT oraz wizyty studyjne. Ostatnio gościliśmy studentów WSB w Chorzowie oraz katowickiego wydziału Politechniki Śląskiej w Gliwicach.

Zajęcia podczas "Ferii z programowaniem"

Zajęcia podczas „Ferii z programowaniem”

W opisywanym kwartale, przedstawiciele firmy byli również obecni na wydarzeniach branżowych. Można wśród nich wymienić berlińskie E-commerce EXPO czy konferencję E-commerce Trends. Podczas nich zostały zaprezentowane idee i rozwiązania, które będą miały duży wpływ na e-commerce w najbliższej przyszłości.

Wewnętrzne projekty podnoszące jakość

Cały czas, wewnętrzny zespół Research & Development pracuje nad rozwojem możliwości Continuous Integration. Tworzenie systemów w tej metodzie pozwala na szybsze uruchamianie poszczególnych funkcjonalności a nawet całych systemów. Przykładem takiego działania jest uruchomienie systemu rezerwacji biletów dla Termy Bania, które zajęło jedynie miesiąc. Więcej o tej realizacji można przeczytać na blogu.

Prowadzone są także prace nad przejściem klientów i-systems na rozwiązania CI. Na taki krok zdecydowała się m.in. marka Dalia. Więcej na ten temat można przeczytać na blogu i-systems.

Kolejnym rozwijanym projektem jest aplikacja webowa dla sklepu internetowego, budowana przy użyciu narzędzi Angular w technologii RWD oraz PWA. Logika tych prac sprowadza się do uniezależnienia frontów sklepów od części serwerowej. Celem działań jest zwiększenie pozytywnego doświadczenia klienta poprzez poprawę wydajności systemu oraz umożliwienie łatwiejszego wprowadzania nowych mechanizmów. Aplikacja webowa również budowana jest w oparciu o metodę Continuous Integration.

Wybrane nagrody

W pierwszym kwartale, firmowe „hall of fame” powiększyło się o dwie pozycje. Pierwszą z nich była nominacja w konkursie Mobile Trends Awards w kategorii “m-commerce” dla aplikacji mobilnej stworzonej dla marki R-GOL.com.

Ponadto, na początku marca Inc. Magazine opublikował ranking 5000 najszybciej rozwijających się firm prywatnych w Europie. W tegorocznej edycji rankingu po raz pierwszy znalazła się spółka i-systems, ze wskaźnikiem wzrostu na poziomie 183%. Szczegóły rankingu można poznać w tym miejscu.

Aby nie ominąć kolejnego podsumowania kluczowych działań w rozwoju i-systems, zapraszamy do zapisania się do newslettera.

Zapisz się do newsletteraRelacje inwestorskie

 

#218 Telefoniczne Biuro Obsługi Klienta – najczęściej popełniane błędy

Bez Telefonicznego Biura Obsługi Klienta nie obejdzie się chyba żaden biznes. Nawet małe firmy i e-sklepy posiadają własne infolinie, które niekiedy obsługiwane są przez właścicieli. Jednak wraz z rozwojem firmy zaczyna się też zwiększać liczba klientów, a to wymaga bardziej kompleksowej obsługi. Czasem pojawiają się reklamacje, czasem problemy z dostarczeniem zamówienia, innym razem ktoś chce dostąpić od umowy. Niezależnie, z jakim problemem dzwonią do nas osoby, musimy postarać się, by ich obsługa była najwyższej jakości. Trzeba pamiętać, że dla wielu osób telefon jest najwygodniejszym medium komunikacji. Czytaj dalej

Europejska sprzedaż z dedykowanym systemem e-commerce

Zarząd firmy Machej Holding współpracuje z i-systems od 2011 roku. Przedsiębiorstwo oferuje urządzenia oraz akcesoria gastronomiczne i cukiernicze najlepszych światowych producentów. Efektem dotychczasowej współpracy z i-systems są trzy sklepy internetowe skierowane na rynki: czeski, słowacki oraz polski.

Oferta produktowa Machej Holding skierowana jest między innymi do: restauracji, kawiarni, pubów, a także hoteli, czyli szeroko rozumianej branży HoReCa. Jednak marka nie zamyka się na klientów B2C. Oni również – poprzez sklepy internetowe wchodzące w skład Machej Holding – mogą zakupić wysokiej jakości zastawę stołową oraz urządzenia i akcesoria gastronomiczne.

Pierwszym systemem e-commerce, wdrożonym w ramach współpracy z i-systems, był sklep online gastromania.cz, oferujący produkty czeskim konsumentom. Wraz ze wzrostem oczekiwań klientów wobec sposobów dokonywania zakupów w sieci, zaistniała potrzeba wdrożenia nowych rozwiązań i umożliwienia użytkownikom sklepu jeszcze sprawniejszych zakupów z poziomu urządzeń mobilnych. W 2016 roku, odbył się szereg prac wpływających na komfort zamawiania, jednak należało przy tym zachować wcześniej customizowane rozwiązania. W 2017 roku powstały natomiast sklepy online: gastromania.sk, oferująca produkty mieszkańcom Słowacji oraz chefstore.pl, skierowany do polskiego klienta.

Proste zarządzanie wieloma cennikami

Realizacja i zarządzanie sprzedażą z trzech sklepów online, działających na trzech zupełnie innych rynkach, obywa się z jednego miejsca, w ramach multisklepu. Potrzebne było rozwiązanie – platforma ecommerce która pozwoli na łatwe zarządzanie cennikami składającymi się z różnych walut i stawek VAT oraz umożliwiające realizację rozbudowanej polityki rabatowej, mimo różnych państw. System e-commerce Machej Holding umożliwia zdefiniowanie strategii cenowej dla różnych grup klientów czy domen.

Prawidłowe dane w systemie e-commerce

Firma Machej Holding korzysta z magazynów swoich dostawców. Ze względu na obszerność różnych standardów plików, otrzymywanych od wielu dostawców, stworzony został importer plików. Działa on na kilka sposobów: umożliwia sprawną aktualizację cen i stanów magazynowych, pozwala na łatwe wprowadzenie nowych produktów oraz daje pracownikom możliwość hurtowego przygotowania opisów czy parametrów produktów, na podstawie otrzymywanych od dostawców feedów produktowych.

Rozwiązania wpływające na wysoki poziom UX

Sklep internetowy gastromania.cz poroponuje około 55 000 produktów. Tak obszerna oferta asortymentowa wymagała prac nad menu głównym. Rozbudowane drzewo kategorii należało bowiem zaprojektować w taki osób, aby było czytelne, łatwe w nawigacji i intuicyjne również w wersji mobilnej. System e-commerce gastromania.cz umożliwia stworzenie kategorii aż do piątego poziomu przy jednoczesnym zachowaniu komfortu zamawiania zarówno z poziomu komputera, jak i telefonu czy tabletu.

Screen menu

Screen ze sklepu internetowego gastromania.cz

Sklep online posiada także zindywidualizowany widok listy produktów. Jedna z kilku grafik zawsze przedstawiona jest w podwójnej wielkości. Wydawać by się mogło, proste rozwiązanie, jednak było ono sporym wyzwaniem, ponieważ podwójnej wielkości grafika musiała prawidłowo wyświetlać się zarówno na urządzeniach desktopowych, jak i smartfonach.

W przypadku ofert promocyjnych, ciekawą formą zobrazowania upustu jest zamieszczenie na kartach produktów kwoty, jaką klient zaoszczędzi kupując dany towar. System e-commerce różnicę między ceną podstawową a promocyjną wylicza automatycznie.

Screen ze sklepu internetowego chefstore.pl

Screen ze sklepu internetowego chefstore.pl

Firmie Machej Holding zależało na rozwiązaniach SEO, które umożliwią osiągnięcie wysokich wyników w wyszukiwarkach internetowych. Sklepy internetowe firmy korzystają z zaawansowanych breadcrumbs’ów i wykorzystują przyjazne adresy. Mimo wielu kategorii i podkategorii, każdy link jest unikalny i czytelny, a to ma wpływ na poziom pozycjonowania organicznego.

Zarząd Machej Holding, przy współpracy z i-systems, stale prowadzi działania skupiające się na rozwoju systemu e-commerce. Sklepy internetowe dostępne są pod adresami: gastromania.cz, gastromiania.sk oraz chefstore.pl.

Zapisz się do newslettera