{"id":2938,"date":"2019-05-03T09:00:28","date_gmt":"2019-05-03T07:00:28","guid":{"rendered":"http:\/\/itcraftapps.com\/pl\/?p=2938"},"modified":"2020-04-16T13:20:34","modified_gmt":"2020-04-16T11:20:34","slug":"czym-jest-rocket-chat","status":"publish","type":"post","link":"https:\/\/itcraftapps.com\/pl\/blog\/czym-jest-rocket-chat\/","title":{"rendered":"Czym jest Rocket.Chat?"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n    {\n      \"@context\": \"http:\/\/schema.org\",\n      \"@type\": \"Blog\",\n      \"name\": \"itCraftapps.com - Mobile App Development Blog\",\n      \"url\": \"https:\/\/itcraftapps.com\/pl\/blog\"\n    }\n  <\/script>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"http:\/\/schema.org\",\n  \"@type\": \"Article\",\n  \"mainEntityOfPage\": {\n  \"@type\": \"WebPage\",\n  \"@id\": \"https:\/\/itcraftapps.com\/pl\/blog\/czym-jest-rocket-chat\/\"\n  },\n  \"headline\": \"Czym jest Rocket.Chat?\",\n \n    \"image\": [\n{\n\t\n  \"@type\": \"ImageObject\", \n  \"contentUrl\": \"placeholder-post.png\",  \"url\":\"https:\/\/wp-test.itcraft.pl\/wp-content\/uploads\/2019\/04\/placeholder-post.png\",\n  \"description\": \"Czym jest Rocket.Chat?\",\n  \"name\": \"Czym jest Rocket.Chat?\"\n\n}\n  \n  ],\n  \n  \"datePublished\": \"2020-05-03\",\n  \"dateModified\": \"2020-03-09\",\n  \"author\": {\n  \"@type\": \"Person\",\n  \"name\": \"Kamil Romankiewicz\",\n  \"jobTitle\": \"Android Developer\",\n  \"description\": \"Android Developer at itCraft\"\n\n  },\n  \"publisher\": {\n  \"@type\": \"Organization\",\n  \"name\": \"itCraftapps.com\",\n  \"logo\": {\n  \"@type\": \"ImageObject\",\n  \"url\": \"https:\/\/wp-test.itcraft.pl\/wp-content\/uploads\/2019\/04\/placeholder-post.png\"\n  },\n  \"description\": \"itCraftapps.com - Mobile App Development\"\n}}\n<\/script>\n\n\n\n<p>Rocket.Chat to projekt chatu grupowego oparty na licencji open-source. Celem autor\u00f3w by\u0142o stworzenie darmowej, otwarto\u017ar\u00f3d\u0142owej wersji popularnego <strong>Slacka<\/strong>. Jest to rozbudowane narz\u0119dzie do stworzenia w\u0142asnego serwera chatu z du\u017cymi mo\u017cliwo\u015bciami konfiguracyjnymi, kt\u00f3re s\u0105 dost\u0119pne po zalogowaniu do chatu jako administrator. Zmian w konfiguracji mo\u017cna r\u00f3wnie\u017c dokonywa\u0107 poprzez udost\u0119pnione do tego metody API.<\/p>\n\n\n\n<p><strong>Rocket.Chat<\/strong> pozwala na tworzenie prywatnych oraz publicznych pokoi rozm\u00f3w, umo\u017cliwia r\u00f3wnie\u017c rozmowy 1 na 1 z innym u\u017cytkownikiem. Mo\u017ce on tak\u017ce pos\u0142u\u017cy\u0107 do przesy\u0142ania dowolnego typu plik\u00f3w. <br \/><\/p>\n\n\n\n<p>Mo\u017cliwe jest skonfigurowanie audio-wideo konferencji, gdy\u017c Rocket.Chat integruje si\u0119 z zewn\u0119trzn\u0105 us\u0142ug\u0105 Jitsi.Meet (<a href=\"https:\/\/jitsi.org\/\" target=\"_blank\" rel=\"nofollow noreferrer noopener\" aria-label=\" (otwiera si\u0119 na nowej zak\u0142adce)\">https:\/\/jitsi.org\/<\/a>). Podczas nawi\u0105zywania po\u0142\u0105czenia audio-wideo tworzona jest konferencja w Jitsi.Meet a wiadomo\u015b\u0107 z linkiem udost\u0119pniana jest w danym pokoju. Jitsi to jedna z wielu us\u0142ug z kt\u00f3rymi mo\u017ce si\u0119 integrowa\u0107 Rocket.Chat.<\/p>\n\n\n\n<p>Inne to m.in.: Jira, GitHub, Google Calendar.<\/p>\n\n\n\n<p>Do komunikacji z serwerem Rocket.Chat, w zale\u017cno\u015bci od naszych preferencji, mo\u017cemy wykorzysta\u0107 RESTowe API lub WebSockety. Nic nie stoi na przeszkodzie, aby korzysta\u0107 z obydwu naprzemian, gdy\u017c token uwierzytelniaj\u0105cy wygenerowany przez metod\u0119 logowania w pierwszym API mo\u017ce by\u0107 wykorzystywany w drugim i na odwr\u00f3t.<\/p>\n\n\n\n<p>Wi\u0119kszo\u015b\u0107 metod ma swoje odpowiedniki w jednym i drugim API i s\u0105 one DOSY\u0106 dobrze udokumentowane w dokumentacjach znajduj\u0105cych si\u0119 pod tymi linkami:<br \/><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>REST:<\/strong> <a rel=\"nofollow noreferrer noopener\" aria-label=\" (otwiera si\u0119 na nowej zak\u0142adce)\" href=\"https:\/\/rocket.chat\/docs\/developer-guides\/realtime-api\/\" target=\"_blank\">https:\/\/rocket.chat\/docs\/developer-guides\/realtime-api\/<\/a><\/li><li><strong>WebSocket:<\/strong> <a rel=\"nofollow noreferrer noopener\" aria-label=\" (otwiera si\u0119 na nowej zak\u0142adce)\" href=\"https:\/\/rocket.chat\/docs\/developer-guides\/rest-api\/\" target=\"_blank\">https:\/\/rocket.chat\/docs\/developer-guides\/rest-api\/<\/a><\/li><\/ul>\n\n\n\n<p>Mo\u017cna jednak mie\u0107 do dokumentacji kilka zastrze\u017ce\u0144. Jednym z moich zastrze\u017ce\u0144 jest np. to, \u017ce nie zosta\u0142o opisane jakie b\u0142\u0119dy mo\u017ce zwraca\u0107 dana metoda. Du\u017cym plusem natomiast jest community jakie wytworzy\u0142o si\u0119 wok\u00f3\u0142 Rocket.Chatu oraz podej\u015bcie tw\u00f3rc\u00f3w do u\u017cytkownik\u00f3w ich projektu. Oddali oni do dyspozycji u\u017cytkownik\u00f3w forum, na kt\u00f3rym mo\u017cna zada\u0107 pytanie zwi\u0105zane z serwerem. Udost\u0119pniono r\u00f3wnie\u017c instancj\u0119 Rocket.Chatu gdzie mniej cierpliwi mog\u0105 si\u0119 zarejestrowa\u0107 i porozmawia\u0107 z programistami &#8211; autorami projektu &#8211; o ile oczywi\u015bcie jest akurat kto\u015b online na kanale support.<br \/><\/p>\n\n\n\n<p>Kod projektu jest napisany w <strong>JavaScripcie<\/strong> z wykorzystaniem frameworku Meteor i znajduje si\u0119 pod tym adresem: <a rel=\"nofollow noreferrer noopener\" aria-label=\" (otwiera si\u0119 na nowej zak\u0142adce)\" href=\"https:\/\/github.com\/RocketChat\/Rocket.Chat\" target=\"_blank\">https:\/\/github.com\/RocketChat\/Rocket.Chat<\/a>.<br \/><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ale..<\/h2>\n\n\n\n<p>Niestety nie jest tak kolorowo i Rocket.Chat nie jest idealny. Rocket.Chat cz\u0119sto oferuje nam du\u017co wi\u0119cej mo\u017cliwo\u015bci ni\u017c potrzebujemy. Jest to pot\u0119\u017cny projekt i nie zawsze warto go wykorzystywa\u0107 do ma\u0142ych projekt\u00f3w, w kt\u00f3rych nie zale\u017cy nam na super rozbudowanych wiadomo\u015bciach grupowych. <\/p>\n\n\n\n<p>Trzeba r\u00f3wnie\u017c liczy\u0107 si\u0119 z tym, \u017ce jest on napisany w JavaScriptcie z wykorzystaniem<strong> frameworka Meteor<\/strong>, co dla nieznaj\u0105cych go programist\u00f3w mo\u017ce by\u0107 problemem w przypadku konieczno\u015bci wprowadzenia zmian w kodzie serwera. W <a href=\"https:\/\/itcraftapps.com\/pl\/o-nas\/\">itCraft<\/a> nie boimy si\u0119 takich wyzwa\u0144, dlatego rozpocz\u0119li\u015bmy nasz\u0105 przygod\u0119 z Rocket.Chatem.<\/p>\n\n\n\n<p>Kolejn\u0105 wad\u0105, o kt\u00f3rej musz\u0119 wspomnie\u0107 jest to, \u017ce w przypadku, gdy chat jest tylko cz\u0119\u015bci\u0105 projektu, musimy zadba\u0107 o synchronizacj\u0119 danych mi\u0119dzy baz\u0105 wykorzystywan\u0105 przez backend a baz\u0105 Rocket.Chat &#8211; ka\u017cda rejestracja w aplikacji oznacza wywo\u0142anie przez nasz backend metody tworzenia konta Rocket.Chatu. Podobnym przyk\u0142adem jest chocia\u017cby zmiana nazwy u\u017cytkownika &#8211; nale\u017cy wzi\u0105\u0107 pod uwag\u0119, aby dane te zmieni\u0107 r\u00f3wnie\u017c w bazie Rocket.Chat.<\/p>\n\n\n\n<p>Je\u017celi chodzi o aplikacj\u0119 klienta chatu, czy to webowego czy mobilnego, to najlepsz\u0105 opcj\u0105 jest napisanie w\u0142asnych aplikacji. Owszem, Rocket.Chat dostarcza klienta webowego oraz SDK, kt\u00f3re mo\u017cna wykorzysta\u0107 w aplikacji androidowej, lecz aplikacje te nie pozwalaj\u0105 na wprowadzenie wi\u0119kszych zmian oraz w przypadku projektu, w kt\u00f3rym chat to tylko cz\u0119\u015b\u0107 funkcjonalno\u015bci, ci\u0119\u017cko takiego klienta by\u0142oby zintegrowa\u0107 z pozosta\u0142ymi elementami aplikacji.<br \/><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Jak zacz\u0105\u0107?<\/h2>\n\n\n\n<p>Instalacja Rocket.Chat r\u00f3\u017cni si\u0119 w zale\u017cno\u015bci od systemu operacyjnego a nawet wersji Linuxa, na kt\u00f3rym zamierzamy go instalowa\u0107. Zatem odsy\u0142am do dokumentacji, w kt\u00f3rej instalacja jest opisana krok po kroku: <a href=\"https:\/\/rocket.chat\/docs\/installation\/\" target=\"_blank\" rel=\"nofollow noreferrer noopener\" aria-label=\" (otwiera si\u0119 na nowej zak\u0142adce)\">https:\/\/rocket.chat\/docs\/installation\/<\/a>. <\/p>\n\n\n\n<p>Instrukcja instalacji jest bardzo dok\u0142adna i przebieg\u0142a na naszym serwerze bez najmniejszych problem\u00f3w. Po instalacji przechodzimy pod adres <em>http:\/\/localhost:3000<\/em> gdzie przy pierwszym wej\u015bciu pojawi si\u0119 kreator, kt\u00f3ry w intuicyjny spos\u00f3b poprowadzi nas przez konfiguracj\u0119 naszego w\u0142asnego serwera chatu grupowego. Po pomy\u015blnym przej\u015bciu przez kreator, serwer jest gotowy. Ponowne wej\u015bcie na powy\u017cszy adres uka\u017ce nam panel logowania do chatu.<br \/><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Czy s\u0105 jakie\u015b alternatywy?<\/h2>\n\n\n\n<p>\tNie jest mo\u017cliwym znalezienie gotowego serwera chatu, kt\u00f3ry w 100% pokryje wymagania klient\u00f3w odno\u015bnie sposobu dzia\u0142ania, wygl\u0105du <a href=\"https:\/\/itcraftapps.com\/pl\/uslugi\/aplikacje-webowe\/\">aplikacji webowych<\/a> i\/lub mobilnych, a tak\u017ce funkcjonalno\u015bci. Rocket.Chat mimo wszystko wydaje si\u0119, \u017ce jest najbli\u017cej aby to osi\u0105gn\u0105\u0107. Jedynym rozwi\u0105zaniem, kt\u00f3re w pe\u0142ni b\u0119dzie si\u0119 pokrywa\u0107 z wymaganiami klienta, b\u0119dzie napisanie ca\u0142ego chatu od pocz\u0105tku samemu bez korzystania z zewn\u0119trznych rozwi\u0105za\u0144. Nie zawsze jest to jednak mo\u017cliwe. W przypadku, gdy chcemy mie\u0107 szybkie i tanie rozwi\u0105zanie to Rocket.Chat jest idealnym wyborem.<br \/><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Podsumowanie<\/h2>\n\n\n\n<p><strong>Rocket.Chat jest fajny bo:<\/strong><br \/>&#8211; jest darmowy,<br \/>&#8211; jest open-source (na liberalnej licencji ,MIT License),<br \/>&#8211; ma bardzo du\u017ce mo\u017cliwo\u015bci konfiguracji,<br \/>&#8211; umo\u017cliwia tworzenie kana\u0142\u00f3w zar\u00f3wno publicznych jak i prywatnych oraz rozm\u00f3w 1 na 1,<br \/>&#8211; pozwala na przesy\u0142anie plik\u00f3w oraz audio-wideo konferencje,<br \/>&#8211; udost\u0119pnia API zar\u00f3wno REST jak i na WebSocketach,<br \/>&#8211; rozwin\u0119\u0142o si\u0119 du\u017ce community.<br \/><\/p>\n\n\n\n<p><strong>Rocket.Chat nie jest dla Ciebie, gdy:<\/strong><br \/>&#8211; projekt wymaga ingerencji w kod serwera a Ty nie znasz i nie chcesz pozna\u0107 JavaScript\/Meteor,<br \/>&#8211; chat jest tylko cz\u0119\u015bci\u0105 projektu i obawiasz si\u0119 synchronizacji mi\u0119dzy bazami danych,<br \/>&#8211; masz wystarczaj\u0105cy bud\u017cet i wiedz\u0119 aby napisa\u0107 w\u0142asne rozwi\u0105zanie.<br \/><\/p>\n\n\n\n<p>Osobi\u015bcie, jako zwolennik w\u0142asnych rozwi\u0105za\u0144, podczas wyboru mi\u0119dzy Rocket.Chat a napisaniem w\u0142asnego rozwi\u0105zania, sk\u0142ania\u0142bym si\u0119 ku drugiej opcji. Tak jak wspomnia\u0142em, daje to znacznie wi\u0119ksz\u0105 kontrol\u0119 nad kodem, nie musimy si\u0119 martwi\u0107 synchronizacj\u0105 baz danych przez co niekt\u00f3re metody API b\u0119da si\u0119 wykonywa\u0142y szybciej. Natomiast bior\u0105c pod uwag\u0119, \u017ce bud\u017cet projektu cz\u0119sto nie pozwala na napisanie ca\u0142ego chatu od nowa, Rocket.Chat \u015bmia\u0142o mo\u017ce sta\u0107 si\u0119 odpowiednim wyborem.<br \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8222;image&#8221;: [ { &#8222;@type&#8221;: &#8222;ImageObject&#8221;, &#8222;contentUrl&#8221;: &#8222;placeholder-post.png&#8221;, &#8222;url&#8221;:&#8221;https:\/\/wp-test.itcraft.pl\/wp-content\/uploads\/2019\/04\/placeholder-post.png&#8221;, &#8222;description&#8221;: &#8222;Czym jest Rocket.Chat?&#8221;, &#8222;name&#8221;: &#8222;Czym jest Rocket.Chat?&#8221; } ], &#8222;datePublished&#8221;: &#8222;2020-05-03&#8221;, &#8222;dateModified&#8221;: &#8222;2020-03-09&#8221;, &#8222;author&#8221;: { &#8222;@type&#8221;: &#8222;Person&#8221;, &#8222;name&#8221;: &#8222;Kamil Romankiewicz&#8221;, &#8222;jobTitle&#8221;: &#8222;Android Developer&#8221;, &#8222;description&#8221;: &#8222;Android Developer at itCraft&#8221; }, &#8222;publisher&#8221;: { &#8222;@type&#8221;: &#8222;Organization&#8221;, &#8222;name&#8221;: &#8222;itCraftapps.com&#8221;, &#8222;logo&#8221;: { &#8222;@type&#8221;: &#8222;ImageObject&#8221;, &#8222;url&#8221;: &#8222;https:\/\/wp-test.itcraft.pl\/wp-content\/uploads\/2019\/04\/placeholder-post.png&#8221; }, &#8222;description&#8221;: &#8222;itCraftapps.com &#8211; Mobile&hellip;<\/p>\n","protected":false},"author":1,"featured_media":2939,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[7],"tags":[],"class_list":{"0":"post-2938","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tech-world"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Czym jest Rocket.Chat? - itCraft blog<\/title>\n<meta name=\"description\" content=\"Rocket.Chat: Darmowy Slack oprogramowania Open Source Prywatne czaty, wideokonferencje, integracje z Jira, GitHub i Google Calendar!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/itcraftapps.com\/pl\/blog\/czym-jest-rocket-chat\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Czym jest Rocket.Chat? - itCraft blog\" \/>\n<meta property=\"og:description\" content=\"Rocket.Chat: Darmowy Slack oprogramowania Open Source Prywatne czaty, wideokonferencje, integracje z Jira, GitHub i Google Calendar!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itcraftapps.com\/pl\/blog\/czym-jest-rocket-chat\/\" \/>\n<meta property=\"og:site_name\" content=\"Aplikacje mobilne i webowe dla firm | itCraft\" \/>\n<meta property=\"article:published_time\" content=\"2019-05-03T07:00:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-04-16T11:20:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itcraftapps.com\/pl\/wp-content\/uploads\/sites\/5\/2019\/05\/rocket-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Czym jest Rocket.Chat? - itCraft blog","description":"Rocket.Chat: Darmowy Slack oprogramowania Open Source Prywatne czaty, wideokonferencje, integracje z Jira, GitHub i Google Calendar!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/itcraftapps.com\/pl\/blog\/czym-jest-rocket-chat\/","og_locale":"pl_PL","og_type":"article","og_title":"Czym jest Rocket.Chat? - itCraft blog","og_description":"Rocket.Chat: Darmowy Slack oprogramowania Open Source Prywatne czaty, wideokonferencje, integracje z Jira, GitHub i Google Calendar!","og_url":"https:\/\/itcraftapps.com\/pl\/blog\/czym-jest-rocket-chat\/","og_site_name":"Aplikacje mobilne i webowe dla firm | itCraft","article_published_time":"2019-05-03T07:00:28+00:00","article_modified_time":"2020-04-16T11:20:34+00:00","og_image":[{"width":900,"height":600,"url":"https:\/\/itcraftapps.com\/pl\/wp-content\/uploads\/sites\/5\/2019\/05\/rocket-1.png","type":"image\/png"}],"author":"root","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/itcraftapps.com\/pl\/blog\/czym-jest-rocket-chat\/","url":"https:\/\/itcraftapps.com\/pl\/blog\/czym-jest-rocket-chat\/","name":"Czym jest Rocket.Chat? - itCraft blog","isPartOf":{"@id":"https:\/\/itcraftapps.com\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/itcraftapps.com\/pl\/blog\/czym-jest-rocket-chat\/#primaryimage"},"image":{"@id":"https:\/\/itcraftapps.com\/pl\/blog\/czym-jest-rocket-chat\/#primaryimage"},"thumbnailUrl":"https:\/\/itcraftapps.com\/pl\/wp-content\/uploads\/sites\/5\/2019\/05\/rocket-1.png","datePublished":"2019-05-03T07:00:28+00:00","dateModified":"2020-04-16T11:20:34+00:00","author":{"@id":"https:\/\/itcraftapps.com\/pl\/#\/schema\/person\/7f005eebbb23587ebb5e67da80d14679"},"description":"Rocket.Chat: Darmowy Slack oprogramowania Open Source Prywatne czaty, wideokonferencje, integracje z Jira, GitHub i Google Calendar!","breadcrumb":{"@id":"https:\/\/itcraftapps.com\/pl\/blog\/czym-jest-rocket-chat\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/itcraftapps.com\/pl\/blog\/czym-jest-rocket-chat\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/itcraftapps.com\/pl\/blog\/czym-jest-rocket-chat\/#primaryimage","url":"https:\/\/itcraftapps.com\/pl\/wp-content\/uploads\/sites\/5\/2019\/05\/rocket-1.png","contentUrl":"https:\/\/itcraftapps.com\/pl\/wp-content\/uploads\/sites\/5\/2019\/05\/rocket-1.png","width":900,"height":600},{"@type":"BreadcrumbList","@id":"https:\/\/itcraftapps.com\/pl\/blog\/czym-jest-rocket-chat\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/itcraftapps.com\/pl\/"},{"@type":"ListItem","position":2,"name":"Czym jest Rocket.Chat?"}]},{"@type":"WebSite","@id":"https:\/\/itcraftapps.com\/pl\/#website","url":"https:\/\/itcraftapps.com\/pl\/","name":"Aplikacje mobilne i webowe dla firm | itCraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/itcraftapps.com\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Person","@id":"https:\/\/itcraftapps.com\/pl\/#\/schema\/person\/7f005eebbb23587ebb5e67da80d14679","name":"root","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/itcraftapps.com\/pl\/#\/schema\/person\/image\/","url":"https:\/\/itcraftapps.com\/pl\/wp-content\/litespeed\/avatar\/5\/c28d2298456f70316440c99aa0dc214f.jpg?ver=1776254058","contentUrl":"https:\/\/itcraftapps.com\/pl\/wp-content\/litespeed\/avatar\/5\/c28d2298456f70316440c99aa0dc214f.jpg?ver=1776254058","caption":"root"},"url":"https:\/\/itcraftapps.com\/pl\/blog\/author\/root\/"}]}},"_links":{"self":[{"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/posts\/2938","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/comments?post=2938"}],"version-history":[{"count":0,"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/posts\/2938\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/media\/2939"}],"wp:attachment":[{"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/media?parent=2938"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/categories?post=2938"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/tags?post=2938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}