O Zaletach gatsby.js rozpisywałem się już na swoim blogu wielokrotnie, to generator stron statycznych, w którym mamy możliwość zaciągania danych z dowolnego API.
Wordpress pomimo sowich wielu wad, to jednak stary i sprawdzony muł, jest idealnym kandydatem do systemu CMS. Wiele osób z niego korzysta, można dość szybko dostosować jego możliwości backendowe.
WooCommerce jest jedna z takich możliwości, w szybki i tani sposób mamy cały system sklepowy, który integruje się z system REST API wordpressa co oznacza, że nasza instalacja jest właściwie gotowa do przyjęcia dowolnego klienta.
Ja do frontu zazwyczaj korzystam z gatsby.js, jakby ktoś chciał skorzystać z takiego rozwiązania to mam własnego forka, https://github.com/MassivDash/gatsby-source-woocommerce. Dałem jakieś tam małe usprawnienia ale przedrzymskim dodałem funkcje kontroli zaciągania produktów jakiej brakuje głównemu repo.
Plugin korzysta z oficjalnego node api wordpressa, zaciąga dane o produktach następnie przetwarza je na graphql endpoint dla naszego gatsby.js. Podczas local developmentu mamy już pełny set danych i nic nam nie stoi na przeszkodzie zbudowania stron produktów czy głównej sklepu.
Dzięki takiemu rozdzieleniu instalacji, możemy zbudować nasz front w technologii react oraz wyrzuć nasz sklep na dowolny serwer.