{"id":4265,"date":"2026-06-02T16:13:49","date_gmt":"2026-06-02T08:13:49","guid":{"rendered":"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/"},"modified":"2026-09-09T20:59:33","modified_gmt":"2026-09-09T12:59:33","slug":"mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams","status":"publish","type":"post","link":"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/","title":{"rendered":"Opanowanie diagram\u00f3w jako kodu: Kompleksowy przewodnik VPasCode dla nowoczesnych zespo\u0142\u00f3w deweloperskich"},"content":{"rendered":"<h2>Wst\u0119p: Rewolucja w dokumentacji zaczyna si\u0119 tutaj<\/h2>\n<p>W dynamicznym \u015bwiecie rozwoju oprogramowania wszyscy musimy zmierzy\u0107 si\u0119 z niekomfortow\u0105 prawd\u0105:<strong>nasza dokumentacja jest prawie zawsze przestarza\u0142a<\/strong>Sp\u0119dzili\u015bmy bezlik godzin, walcz\u0105c z narz\u0119dziami do tworzenia diagram\u00f3w typu \u201eprzeci\u0105gnij i upu\u015b\u0107&#8221;, starannie ustawiaj\u0105c ramki i strza\u0142ki, by dopiero zobaczy\u0107, jak nasze starannie przygotowane wizualizacje staj\u0105 si\u0119 nieaktualne w momencie zmiany kodu.<br \/>\nA co, gdyby dokumentacja mog\u0142a nad\u0105\u017ca\u0107 za rozwojem? Co, gdyby tworzenie profesjonalnych diagram\u00f3w architektury by\u0142o tak proste jak napisanie funkcji?<br \/>\nWitamy w rewolucji diagram\u00f3w jako kodu. Ten przewodnik poprowadzi Ci\u0119 przez<strong>VPasCode<\/strong>, przegl\u0105darkowej platformie Visual Paradigm, kt\u00f3ra zmienia spos\u00f3b, w jaki zespo\u0142y tworz\u0105, udost\u0119pniaj\u0105 i utrzymuj\u0105 diagramy architektury system\u00f3w. Traktuj\u0105c diagramy jako kod, odkryjesz, jak w kilka minut \u2013 nie godzin \u2013 tworzy\u0107 wizualizacje na poziomie publikacji, jednocze\u015bnie zapewniaj\u0105c, \u017ce Twoja dokumentacja b\u0119dzie p\u0142ynnie ewoluowa\u0107 wraz z systemami.<br \/>\nNiezale\u017cnie od tego, czy jeste\u015b deweloperem dokumentuj\u0105cym mikroserwisy, architektem prezentuj\u0105cym interesariuszom, czy in\u017cynierem DevOps mapuj\u0105cym infrastruktur\u0119, ten kompleksowy przewodnik wyposa\u017cy Ci\u0119 w umiej\u0119tno\u015bci niezb\u0119dne do opanowania VPasCode i podniesienia poziomu dokumentacji w Twoim zespole.<\/p>\n<hr\/>\n<h2>1. Rozpocz\u0119cie pracy: Tw\u00f3j pierwszy diagram w 5 minut {#rozpocz\u0119cie-pracy}<\/h2>\n<h3>Brak instalacji, brak konfiguracji \u2013 tylko kod<\/h3>\n<p>Jedn\u0105 z najpot\u0119\u017cniejszych funkcji VPasCode jest jego bezproblemowe wdro\u017cenie. Nie trzeba nic instalowa\u0107, zak\u0142ada\u0107 kont ani konfigurowa\u0107 skomplikowanych ustawie\u0144. Stw\u00f3rzmy teraz Tw\u00f3j pierwszy diagram.<br \/>\n<strong>Szybki start krok po kroku:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Przejd\u017a do VPasCode<\/strong>: Otw\u00f3rz przegl\u0105dark\u0119 i odwied\u017a<a href=\"https:\/\/www.vpascode.com\/editor\/\">https:\/\/www.vpascode.com\/editor\/<\/a><\/p>\n<\/li>\n<li>\n<p><strong>Wybierz silnik<\/strong>: Wybierz z listy rozwijanej:<\/p>\n<ul>\n<li>\n<p><strong>Mermaid<\/strong> \u2013 Najlepszy do diagram\u00f3w przep\u0142ywu i nowoczesnej dokumentacji<\/p>\n<\/li>\n<li>\n<p><strong>PlantUML<\/strong> \u2013 Idealny do UML i architektury przedsi\u0119biorstw<\/p>\n<\/li>\n<li>\n<p><strong>Graphviz<\/strong> \u2013 Doskona\u0142y do z\u0142o\u017conych topologii sieci<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Za\u0142aduj szablon<\/strong>: Kliknij \u201ePrzyk\u0142ady\u201d i wybierz szablon pocz\u0105tkowy<\/p>\n<\/li>\n<li>\n<p><strong>Edytuj i podgl\u0105d<\/strong>: Zmie\u0144 kod w lewym panelu; obserwuj natychmiastow\u0105 aktualizacj\u0119 diagramu po prawej stronie<\/p>\n<\/li>\n<li>\n<p><strong>Eksportuj lub udost\u0119pnij<\/strong>: Pobierz jako SVG\/PNG lub skopiuj udost\u0119pnialny adres URL<\/p>\n<\/li>\n<\/ol>\n<p><img alt=\"VPasCode : Dokumentacja architektury systemu poprzez Diagram-as-Code\" decoding=\"async\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png\"\/><br \/>\n<em>Rysunek 1: VPasCode natychmiast przekszta\u0142ca kod tekstowy w profesjonalne diagramy architektury<\/em><\/p>\n<hr\/>\n<h2>2. Zrozumienie interfejsu VPasCode {#interface}<\/h2>\n<p>Zanim zag\u0142\u0119bimy si\u0119 w sk\u0142adni\u0119, zapoznajmy si\u0119 z obszarem roboczym.<br \/>\n<img alt=\"Interfejs u\u017cytkownika VPasCode \u2013 wszechstronny edytor tekst-do-diagramu (lub diagram-as-kod)\" decoding=\"async\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a17bfb3eef7d.png\"\/><br \/>\n<em>Rysunek 2: Dwupanelowy interfejs VPasCode \u2014 kod po lewej stronie, podgl\u0105d na \u017cywo po prawej<\/em><\/p>\n<h3>Podzia\u0142 komponent\u00f3w interfejsu:<\/h3>\n<p><strong>Panel lewy (Edytor kodu):<\/strong><\/p>\n<ul>\n<li>\n<p>Edytor tekstu z pod\u015bwietlaniem sk\u0142adni<\/p>\n<\/li>\n<li>\n<p>Numery wierszy dla \u0142atwego odniesienia<\/p>\n<\/li>\n<li>\n<p>Wsparcie dla automatycznego uzupe\u0142niania<\/p>\n<\/li>\n<li>\n<p>Pod\u015bwietlanie b\u0142\u0119d\u00f3w w czasie rzeczywistym<\/p>\n<\/li>\n<\/ul>\n<p><strong>Panel prawy (Podgl\u0105d na \u017cywo):<\/strong><\/p>\n<ul>\n<li>\n<p>Natychmiastowe renderowanie wizualne<\/p>\n<\/li>\n<li>\n<p>Sterowanie przesuwaniem i przybli\u017caniem<\/p>\n<\/li>\n<li>\n<p>Wy\u015bwietlanie wektorowe (ostry obraz na dowolnym poziomie przybli\u017cenia)<\/p>\n<\/li>\n<li>\n<p>Kliknij, aby sprawdzi\u0107 elementy<\/p>\n<\/li>\n<\/ul>\n<p><strong>G\u00f3rny pasek narz\u0119dzi:<\/strong><\/p>\n<ul>\n<li>\n<p>Wyb\u00f3r silnika (Mermaid\/PlantUML\/Graphviz)<\/p>\n<\/li>\n<li>\n<p>Galeria szablon\u00f3w<\/p>\n<\/li>\n<li>\n<p>Opcje eksportu (SVG, PNG, PDF)<\/p>\n<\/li>\n<li>\n<p>Przycisk udost\u0119pniania (generuje sta\u0142y adres URL)<\/p>\n<\/li>\n<li>\n<p>Ustawienia i preferencje<\/p>\n<\/li>\n<\/ul>\n<p><strong>Dolny pasek statusu:<\/strong><\/p>\n<ul>\n<li>\n<p>Status walidacji sk\u0142adni<\/p>\n<\/li>\n<li>\n<p>Liczba znak\u00f3w<\/p>\n<\/li>\n<li>\n<p>Ostatni znacznik czasu zapisu<\/p>\n<\/li>\n<li>\n<p>Odno\u015bnik do skr\u00f3t\u00f3w klawiszowych<\/p>\n<\/li>\n<\/ul>\n<h3>Zasada podstawowego przep\u0142ywu pracy:<\/h3>\n<pre><code>Napisz kod \u2192 Zobacz natychmiastowy podgl\u0105d \u2192 Dopracuj \u2192 Eksportuj\/udost\u0119pnij\r\n<\/code><\/pre>\n<p>Ten natychmiastowy p\u0119tla sprz\u0119\u017cenia zwrotnego jest tym, co sprawia, \u017ce VPasCode jest tak pot\u0119\u017cny. Nie ma przycisku \u201erenderuj\u201d do klikni\u0119cia, nie ma czekania na kompilacj\u0119 \u2014 czysty, natychmiastowy feedback wizualny podczas pisania.<\/p>\n<hr\/>\n<h2>3. Opanowanie Mermaid.js: Diagramy przep\u0142ywu i nie tylko {#mermaid-tutorial}<\/h2>\n<p>Mermaid.js sta\u0142 si\u0119 de facto standardem w tworzeniu diagram\u00f3w przyjaznych programistom. Jego sk\u0142adnia jest intuicyjna, czytelna i idealna do dokumentacji, kt\u00f3ra wsp\u00f3\u0142istnieje z kodem.<\/p>\n<h3>Tutoria 1: Tworzenie przep\u0142ywu uwierzytelniania u\u017cytkownika<\/h3>\n<p>Stw\u00f3rzmy praktyczny diagram przep\u0142ywu uwierzytelniania, kt\u00f3ry mo\u017cesz wykorzysta\u0107 w planowaniu kolejnego sprintu.<br \/>\n<strong>Przyk\u0142adowy kod:<\/strong><\/p>\n<p><img alt=\"Diagram przep\u0142ywu uwierzytelniania u\u017cytkownika pokazuj\u0105cy walidacj\u0119 po\u015bwiadcze\u0144, generowanie token\u00f3w JWT oraz przekierowanie do pulpitu z p\u0119tlami obs\u0142ugi b\u0142\u0119d\u00f3w.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8b6724da1.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpNj99rwkAMgN8H+x8Cvk7QrVXxYaP2hzrYBlY3RvHh1kvXw+5OcnHD6f731bZK8xAI+ZIv+SSxzWEZXF9BGV6yskgQakay4BNK1KxEYdfQ7d7D5PAqCiUhMvQl+OGvHpqcesdncwQ\/iXPzAxUkWBkNIZGhdZt7R3uEIIlRS2AD3o5ziJG+VYoN51cury6CqggPrVvgSXCan+3hxR4lC+QdaXB6fVhpUW42pH5Rrttk5Z8mU9RIghEe35awNBvUDTWthLMkZkNYd0BpmDFvX3SxB9+YjTqfOqvgeSmWijDl00eBsPmHEXTWRu136mx5XyB4kKmiGHewn7lZdmOZStm40+sNBmnaBucNKB2UUlzA25EYOm4bjBowG8lhC5Tpneu4\/12qjr4=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpNj99rwkAMgN8H+x8Cvk7QrVXxYaP2hzrYBlY3RvHh1kvXw+5OcnHD6f731bZK8xAI+ZIv+SSxzWEZXF9BGV6yskgQakay4BNK1KxEYdfQ7d7D5PAqCiUhMvQl+OGvHpqcesdncwQ\/iXPzAxUkWBkNIZGhdZt7R3uEIIlRS2AD3o5ziJG+VYoN51cury6CqggPrVvgSXCan+3hxR4lC+QdaXB6fVhpUW42pH5Rrttk5Z8mU9RIghEe35awNBvUDTWthLMkZkNYd0BpmDFvX3SxB9+YjTqfOqvgeSmWijDl00eBsPmHEXTWRu136mx5XyB4kKmiGHewn7lZdmOZStm40+sNBmnaBucNKB2UUlzA25EYOm4bjBowG8lhC5Tpneu4\/12qjr4=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpVj89OwkAQh+8mvsMkXCUBbcFw0ADlnwflACGh4bB2t2Xbtdtst9m04IWE+AzGx\/DKzfa9LG3VuodNJvPN\/L5xBAq2sDAuLyB\/fXOZnWLpceVTD1QguEI4QYCRT4BxJy99ijbQbN7BYDfngUDKj8Hm4gXJ+9dyyeDc3j9SsoehOeceyk7wnB3SIwaFGMXIcummji6QtwfDXMXZB6MuYA5RmB0ih0KkKBFJLAnLY8\/J5diwEOiXhVEUo53xzxFCmr5D4pz13fT44zb6cxubayW+PtM30FptWPooklsuaELwps4WcpNcziE+EZELknvEh4fVosImRf7UXKOAhknVVmBRFEpiJV4EUymDJ5\/F1cC0GJiZc5EQjxY785ODXJ9FFTKuH1j+oYwZgT7YlLFeg7Rt3bavQinyuF6j1ep0LKsOzioQawRj9Ate36KuptfBcQXat7hbA7F1o2v6N5AwquI=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">graph TD\r\n    A[U\u017cytkownik wprowadza dane logowania] --&gt; B{Poprawny format?}\r\n    B --&gt;|Nie| C[Poka\u017c b\u0142\u0105d walidacji]\r\n    B --&gt;|Tak| D[Wy\u015blij do us\u0142ugi uwierzytelniania]\r\n    C --&gt; A\r\n    D --&gt; E{Dane logowania si\u0119 zgadzaj\u0105?}\r\n    E --&gt;|Nie| F[Zwr\u00f3\u0107 401 Unauthorized]\r\n    E --&gt;|Tak| G[Wygeneruj token JWT]\r\n    G --&gt; H[Zapisz token w ciasteczku HttpOnly]\r\n    H --&gt; I[Przekieruj do panelu]\r\n    F --&gt; A\r\n    \r\n    style A fill:#e1f5ff,stroke:#0066cc\r\n    style I fill:#d4edda,stroke:#28a745\r\n    style F fill:#f8d7da,stroke:#dc3545\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpVj89OwkAQh+8mvsMkXCUBbcFw0ADlnwflACGh4bB2t2Xbtdtst9m04IWE+AzGx\/DKzfa9LG3VuodNJvPN\/L5xBAq2sDAuLyB\/fXOZnWLpceVTD1QguEI4QYCRT4BxJy99ijbQbN7BYDfngUDKj8Hm4gXJ+9dyyeDc3j9SsoehOeceyk7wnB3SIwaFGMXIcummji6QtwfDXMXZB6MuYA5RmB0ih0KkKBFJLAnLY8\/J5diwEOiXhVEUo53xzxFCmr5D4pz13fT44zb6cxubayW+PtM30FptWPooklsuaELwps4WcpNcziE+EZELknvEh4fVosImRf7UXKOAhknVVmBRFEpiJV4EUymDJ5\/F1cC0GJiZc5EQjxY785ODXJ9FFTKuH1j+oYwZgT7YlLFeg7Rt3bavQinyuF6j1ep0LKsOzioQawRj9Ate36KuptfBcQXat7hbA7F1o2v6N5AwquI=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpNj99rwkAMgN8H+x8Cvk7QrVXxYaP2hzrYBlY3RvHh1kvXw+5OcnHD6f731bZK8xAI+ZIv+SSxzWEZXF9BGV6yskgQakay4BNK1KxEYdfQ7d7D5PAqCiUhMvQl+OGvHpqcesdncwQ\/iXPzAxUkWBkNIZGhdZt7R3uEIIlRS2AD3o5ziJG+VYoN51cury6CqggPrVvgSXCan+3hxR4lC+QdaXB6fVhpUW42pH5Rrttk5Z8mU9RIghEe35awNBvUDTWthLMkZkNYd0BpmDFvX3SxB9+YjTqfOqvgeSmWijDl00eBsPmHEXTWRu136mx5XyB4kKmiGHewn7lZdmOZStm40+sNBmnaBucNKB2UUlzA25EYOm4bjBowG8lhC5Tpneu4\/12qjr4=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpNj99rwkAMgN8H+x8Cvk7QrVXxYaP2hzrYBlY3RvHh1kvXw+5OcnHD6f731bZK8xAI+ZIv+SSxzWEZXF9BGV6yskgQakay4BNK1KxEYdfQ7d7D5PAqCiUhMvQl+OGvHpqcesdncwQ\/iXPzAxUkWBkNIZGhdZt7R3uEIIlRS2AD3o5ziJG+VYoN51cury6CqggPrVvgSXCan+3hxR4lC+QdaXB6fVhpUW42pH5Rrttk5Z8mU9RIghEe35awNBvUDTWthLMkZkNYd0BpmDFvX3SxB9+YjTqfOqvgeSmWijDl00eBsPmHEXTWRu136mx5XyB4kKmiGHewn7lZdmOZStm40+sNBmnaBucNKB2UUlzA25EYOm4bjBowG8lhC5Tpneu4\/12qjr4=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><strong>Co to demonstruje:<\/strong><\/p>\n<ul>\n<li>\n<p>W\u0119z\u0142y decyzyjne (romby z <code data-backticks=\"1\">{?}<\/code>)<\/p>\n<\/li>\n<li>\n<p>Kierunek przep\u0142ywu (<code data-backticks=\"1\">TD<\/code> = od g\u00f3ry do do\u0142u)<\/p>\n<\/li>\n<li>\n<p>Niestandardowe style z kolorami<\/p>\n<\/li>\n<li>\n<p>P\u0119tle samoreferencyjne<\/p>\n<\/li>\n<li>\n<p>Jasne etykiety<\/p>\n<\/li>\n<\/ul>\n<h3>Tutoria 2: Diagram architektury mikroserwis\u00f3w<\/h3>\n<p>Teraz stw\u00f3rzmy bardziej z\u0142o\u017con\u0105 architektur\u0119 systemu pokazuj\u0105c\u0105 relacje mi\u0119dzy us\u0142ugami.<br \/>\n<strong>Przyk\u0142adowy kod:<\/strong><\/p>\n<p><img alt=\"Diagram architektury mikroserwis\u00f3w pokazuj\u0105cy warstw\u0119 klienta, bram\u0119 API, us\u0142ugi biznesowe i warstw\u0119 danych z po\u0142\u0105czeniami PostgreSQL, MongoDB i Redis.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8b8990079.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNUt9rwjAQfh\/sfwj1RUGZiHNOhmAtG2OOucrYQ9hDml41rFpJ0on\/\/ZpfXWndZqCX5rvvkvvubs3JfoMW4eUFKpbIo7UG5imDncSe2dGCHIF7H4ak1jtEuPjQbL+\/i\/jVNARCZcX\/nEUsBWy2knWf5lICtzzYxean9vZs+Yi9wqAHIuFAjtV3LYTRU7ZbuxOqEGa53GBl0Ar4F6NQ8YUFHSuDFmzL\/k\/E3iCw5+eC7UCIEqrm9CaAY2VOPPnC48Kp7QnvkmdxTiW2+ykGOW5VI+xeY\/yWeEAkwZ6yzc6pRAMft3XCga\/7ssyEXHNYvS469dwV1aRvuc9F4bPA7zRlKKpT8ufFc0I3gNshxEyYQ+e0IDVhvd7U9dmAdqYauBsG5VAD0ERV6w2qh0BBqgo1SKutYVaWQXXlXHDg10Ctx2CmbuWdjvoD264a2JWu8p6LcN1vXGX7Lo9FQZzShKXppJUko2gUdYXk2SdMWvR2QAakS7M045PDhrlCmFAjxEYOgcZ0WEb2xzfJdVRl2wzOpZdazg3QFSxlwGgUl+SkP6b9\/jc5B1T5\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNUt9rwjAQfh\/sfwj1RUGZiHNOhmAtG2OOucrYQ9hDml41rFpJ0on\/\/ZpfXWndZqCX5rvvkvvubs3JfoMW4eUFKpbIo7UG5imDncSe2dGCHIF7H4ak1jtEuPjQbL+\/i\/jVNARCZcX\/nEUsBWy2knWf5lICtzzYxean9vZs+Yi9wqAHIuFAjtV3LYTRU7ZbuxOqEGa53GBl0Ar4F6NQ8YUFHSuDFmzL\/k\/E3iCw5+eC7UCIEqrm9CaAY2VOPPnC48Kp7QnvkmdxTiW2+ykGOW5VI+xeY\/yWeEAkwZ6yzc6pRAMft3XCga\/7ssyEXHNYvS469dwV1aRvuc9F4bPA7zRlKKpT8ufFc0I3gNshxEyYQ+e0IDVhvd7U9dmAdqYauBsG5VAD0ERV6w2qh0BBqgo1SKutYVaWQXXlXHDg10Ctx2CmbuWdjvoD264a2JWu8p6LcN1vXGX7Lo9FQZzShKXppJUko2gUdYXk2SdMWvR2QAakS7M045PDhrlCmFAjxEYOgcZ0WEb2xzfJdVRl2wzOpZdazg3QFSxlwGgUl+SkP6b9\/jc5B1T5\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNUl1r2zAUfR\/sP4j0pYGWhdJlXRiFuGFjLGVZSumD2cO1fG1rtqUgyzP2YxnsN5T9jL3ubfH\/mm35Qzhji\/GDdHTO1TlX15ewC8h6+\/wZqb4kdfwGuIkYcmVPHkAmKgMSNnuYfNa8+ntAx17uIkaBfgGSoSMyeOPIF9dbBKoM4q1wWIQGN64Brslvo1QplC0duasXIzvLzXt7YkmIoV6aLt6Bwgxym+jTD4L7xDhepiqw75PyMfWBpBlDWeQKI86g+g3etipjr1nMKi8kKXInFOUPyv5j6w7lV0YxsSf6CkYcVnBMRIamx\/sE5WCi\/JWrUGSchaaBj9I1SAXEv39WbstvBmUjhZtS1ZN29T5UFdEkQR7XL9eTykdQ\/JgwK1AwPLgLPKfBOMXKsk8tKLpjM0xlo3nQjUiUL\/Hu03o6jjdWDykb5W31dmJlTQ8jj4VD8n9ceQM0QPt0AzHbP+2\/k51w5f6JFhzIFl2WTP\/ej2qsyfn5dTdYGtQjfIi3m+agHrVDtB4sjdarBqobOYKa9oywNrtGa00vXlkjsImqsabSULOjDnA7IBpu7zDv6xQt77BUOzYqrxrSJfVYFC1OPG\/uzJ2zREkR4uKEvr6ACzijIhJykQWsa4SW6iCt8hKpSy975ezqlffSMdmtg2PpfZZjBU0H+xg4n7s92Ztd0dnsD7h7kgA=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">graph LR\r\n    subgraph Client[\"Warstwa klienta\"]\r\n        Web[Aplicacja webowa&lt;br\/&gt;React]\r\n        Mobile[Aplicacja mobilna&lt;br\/&gt;Flutter]\r\n    end\r\n    \r\n    subgraph API[\"Brama API\"]\r\n        Gateway[ Brama Kong ]\r\n        Auth[Us\u0142uga uwierzytelniania]\r\n        Rate[Limiter szybko\u015bci]\r\n    end\r\n    \r\n    subgraph Services[\"Us\u0142ugi biznesowe\"]\r\n        User[Us\u0142uga u\u017cytkownika]\r\n        Order[Us\u0142uga zam\u00f3wie\u0144]\r\n        Product[Us\u0142uga produkt\u00f3w]\r\n        Payment[Us\u0142uga p\u0142atno\u015bci]\r\n    end\r\n    \r\n    subgraph Data[\"Warstwa danych\"]\r\n        UserDB[(Baza danych u\u017cytkownik\u00f3w&lt;br\/&gt;PostgreSQL)]\r\n        OrderDB[(Baza danych zam\u00f3wie\u0144&lt;br\/&gt;MongoDB)]\r\n        ProductDB[(Baza danych produkt\u00f3w&lt;br\/&gt;PostgreSQL)]\r\n        Cache[(Pami\u0119\u0107 podr\u0119czna Redis)]\r\n    end\r\n    \r\n    Web --&gt; Gateway\r\n    Mobile --&gt; Gateway\r\n    Gateway --&gt; Auth\r\n    Gateway --&gt; Rate\r\n    Rate --&gt; User\r\n    Rate --&gt; Order\r\n    Rate --&gt; Product\r\n    User --&gt; UserDB\r\n    User --&gt; Cache\r\n    Order --&gt; OrderDB\r\n    Order --&gt; Payment\r\n    Product --&gt; ProductDB\r\n    Payment --&gt; OrderDB\r\n    \r\n    style Gateway fill:#ff6b6b,stroke:#c92a2a,color:white\r\n    style UserDB fill:#4ecdc4,stroke:#087f5b\r\n    style OrderDB fill:#4ecdc4,stroke:#087f5b\r\n    style ProductDB fill:#4ecdc4,stroke:#087f5b\r\n    style Cache fill:#ffe66d,stroke:#f08c00\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNUl1r2zAUfR\/sP4j0pYGWhdJlXRiFuGFjLGVZSumD2cO1fG1rtqUgyzP2YxnsN5T9jL3ubfH\/mm35Qzhji\/GDdHTO1TlX15ewC8h6+\/wZqb4kdfwGuIkYcmVPHkAmKgMSNnuYfNa8+ntAx17uIkaBfgGSoSMyeOPIF9dbBKoM4q1wWIQGN64Brslvo1QplC0duasXIzvLzXt7YkmIoV6aLt6Bwgxym+jTD4L7xDhepiqw75PyMfWBpBlDWeQKI86g+g3etipjr1nMKi8kKXInFOUPyv5j6w7lV0YxsSf6CkYcVnBMRIamx\/sE5WCi\/JWrUGSchaaBj9I1SAXEv39WbstvBmUjhZtS1ZN29T5UFdEkQR7XL9eTykdQ\/JgwK1AwPLgLPKfBOMXKsk8tKLpjM0xlo3nQjUiUL\/Hu03o6jjdWDykb5W31dmJlTQ8jj4VD8n9ceQM0QPt0AzHbP+2\/k51w5f6JFhzIFl2WTP\/ej2qsyfn5dTdYGtQjfIi3m+agHrVDtB4sjdarBqobOYKa9oywNrtGa00vXlkjsImqsabSULOjDnA7IBpu7zDv6xQt77BUOzYqrxrSJfVYFC1OPG\/uzJ2zREkR4uKEvr6ACzijIhJykQWsa4SW6iCt8hKpSy975ezqlffSMdmtg2PpfZZjBU0H+xg4n7s92Ztd0dnsD7h7kgA=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNUt9rwjAQfh\/sfwj1RUGZiHNOhmAtG2OOucrYQ9hDml41rFpJ0on\/\/ZpfXWndZqCX5rvvkvvubs3JfoMW4eUFKpbIo7UG5imDncSe2dGCHIF7H4ak1jtEuPjQbL+\/i\/jVNARCZcX\/nEUsBWy2knWf5lICtzzYxean9vZs+Yi9wqAHIuFAjtV3LYTRU7ZbuxOqEGa53GBl0Ar4F6NQ8YUFHSuDFmzL\/k\/E3iCw5+eC7UCIEqrm9CaAY2VOPPnC48Kp7QnvkmdxTiW2+ykGOW5VI+xeY\/yWeEAkwZ6yzc6pRAMft3XCga\/7ssyEXHNYvS469dwV1aRvuc9F4bPA7zRlKKpT8ufFc0I3gNshxEyYQ+e0IDVhvd7U9dmAdqYauBsG5VAD0ERV6w2qh0BBqgo1SKutYVaWQXXlXHDg10Ctx2CmbuWdjvoD264a2JWu8p6LcN1vXGX7Lo9FQZzShKXppJUko2gUdYXk2SdMWvR2QAakS7M045PDhrlCmFAjxEYOgcZ0WEb2xzfJdVRl2wzOpZdazg3QFSxlwGgUl+SkP6b9\/jc5B1T5\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNUt9rwjAQfh\/sfwj1RUGZiHNOhmAtG2OOucrYQ9hDml41rFpJ0on\/\/ZpfXWndZqCX5rvvkvvubs3JfoMW4eUFKpbIo7UG5imDncSe2dGCHIF7H4ak1jtEuPjQbL+\/i\/jVNARCZcX\/nEUsBWy2knWf5lICtzzYxean9vZs+Yi9wqAHIuFAjtV3LYTRU7ZbuxOqEGa53GBl0Ar4F6NQ8YUFHSuDFmzL\/k\/E3iCw5+eC7UCIEqrm9CaAY2VOPPnC48Kp7QnvkmdxTiW2+ykGOW5VI+xeY\/yWeEAkwZ6yzc6pRAMft3XCga\/7ssyEXHNYvS469dwV1aRvuc9F4bPA7zRlKKpT8ufFc0I3gNshxEyYQ+e0IDVhvd7U9dmAdqYauBsG5VAD0ERV6w2qh0BBqgo1SKutYVaWQXXlXHDg10Ctx2CmbuWdjvoD264a2JWu8p6LcN1vXGX7Lo9FQZzShKXppJUko2gUdYXk2SdMWvR2QAakS7M045PDhrlCmFAjxEYOgcZ0WEb2xzfJdVRl2wzOpZdazg3QFSxlwGgUl+SkP6b9\/jc5B1T5\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><strong>Kluczowe poj\u0119cia:<\/strong><\/p>\n<ul>\n<li>\n<p><code data-backticks=\"1\">podgraf<\/code>\u00a0do logicznego grupowania<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">LR<\/code>\u00a0do uk\u0142adu od lewej do prawej<\/p>\n<\/li>\n<li>\n<p>Wieloliniowe etykiety z\u00a0<code data-backticks=\"1\">&lt;br\/&gt;<\/code><\/p>\n<\/li>\n<li>\n<p>Notacja cylindra bazy danych z\u00a0<code data-backticks=\"1\">[( )]<\/code><\/p>\n<\/li>\n<li>\n<p>Z\u0142o\u017cone trasowanie i relacje<\/p>\n<\/li>\n<\/ul>\n<h3>Tutoria 3: Diagram sekwencji dla przetwarzania zam\u00f3wie\u0144<\/h3>\n<p>Diagramy sekwencji s\u0105 niezb\u0119dne do zrozumienia interakcji czasowych mi\u0119dzy komponentami.<br \/>\n<strong>Przyk\u0142adowy kod:<\/strong><\/p>\n<p><img alt=\"Diagram sekwencji ilustruj\u0105cy przep\u0142yw przetwarzania zam\u00f3wie\u0144 mi\u0119dzy Klientem, Aplikacj\u0105 Webow\u0105, Us\u0142ug\u0105 Zam\u00f3wie\u0144, Us\u0142ug\u0105 P\u0142atno\u015bci, Us\u0142ug\u0105 Magazynow\u0105 i Us\u0142ug\u0105 Powiadomie\u0144.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8bb593914.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1klFrgzAUhd8H+w+XPm3Qrl0fZRSK3YMvKuugzzHeaqgmLokdpfS\/78YorrQVEeN3cu+5Jxr8aVFy3AhWaFY\/PwFdrLVKtnWG2q8bpq3gomHSQgjMQNgaq+p7eOfwDjNYN80tTRxNdI4atqiPguOtJnWalJ1qpMVDVeRUkTySSOnTY13sdLGyYi84s0LJa6l\/hrPVahfAOs9BWKwNWAWcilzRsBL8AJOwRH5QrZ14uCOYBJAm22+YKzeZgXNXZAqmFE0jZHHx0oSkUQBfaMgBghjMexrNfCWPvVWu5F7oGvOxQEq9tOJoDI3ZZeRZ2m8fgjMtd6J9W417CYcamUXojIJGTi8jjwMKR+Y97Zt3Trwmdj3CAD5rJqo7PJn5pJaL975RDueuWJRfhrh8iW2pfgePNEhxdRx0XGTxSB6Saeo8CzpOVoFB7pp9ZHq+qukPhAzBaiYN676zflQay4IuMvayXCym0D3c\/bZ89YJ\/WYYl0wW6w85HNmT5PdaGaOM55fMHOQD0Aw==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1klFrgzAUhd8H+w+XPm3Qrl0fZRSK3YMvKuugzzHeaqgmLokdpfS\/78YorrQVEeN3cu+5Jxr8aVFy3AhWaFY\/PwFdrLVKtnWG2q8bpq3gomHSQgjMQNgaq+p7eOfwDjNYN80tTRxNdI4atqiPguOtJnWalJ1qpMVDVeRUkTySSOnTY13sdLGyYi84s0LJa6l\/hrPVahfAOs9BWKwNWAWcilzRsBL8AJOwRH5QrZ14uCOYBJAm22+YKzeZgXNXZAqmFE0jZHHx0oSkUQBfaMgBghjMexrNfCWPvVWu5F7oGvOxQEq9tOJoDI3ZZeRZ2m8fgjMtd6J9W417CYcamUXojIJGTi8jjwMKR+Y97Zt3Trwmdj3CAD5rJqo7PJn5pJaL975RDueuWJRfhrh8iW2pfgePNEhxdRx0XGTxSB6Saeo8CzpOVoFB7pp9ZHq+qukPhAzBaiYN676zflQay4IuMvayXCym0D3c\/bZ89YJ\/WYYl0wW6w85HNmT5PdaGaOM55fMHOQD0Aw==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNplks1q20AUhfeFvsMlqxbsxPXSFEOxNyLUEm2DILsr6aKOxppR56dGE7IJKX2GkMfItrtY79WJx4rtSIgBcT6de+bMaPplSeS0ZFgqrN+\/A\/+gNVLYOiMVvhtUhuWsQWFgARVyCZdrRsIM5TTIX5o145hXCCllcoNDMA7gle7ubIlwjfXz04ZRdz9Ek1M06e7QCNk95mzIRqfsVyzRtcIOwdUbU7lhWMj6kCCsi\/F8ns5gKQusoFGOippJ00IhgUvtWo4nnK+FC1bB2bU37+5zBw65bc4ClHoonkESf\/8BF1IVpDTcMEO1HoH+yZqGifI2oLFHoxl8I0dqYytv06BugxaNg08Qdy030vjyVOGkwINB4mf5yGbz\/KQcNH1v278BSfY+yUEAW+Cxg1ev9r8r4j6yDxIOSrAjbDWDtO0e137nr0k8QUN69TJz4WeeYDSuka17v1DldPIJForQUAE3u7Ki4rbvsTfh2P0DbZQU2wfQluek7fHxraQhkL9JQTzybVyq1rS5Ey3ITDtUnzN1Ma+tZpC1fvNGodDI87YS+6oV5QZUmeGH6WQygt3y8p5PPwbgqOo4y9n2j8\/D\/TXbPhz0vudo+Tqh2l9dEsV\/ez8kBg==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">sequenceDiagram\r\n    autonumber\r\n    participant C jako Klient\r\n    participant W jako Aplikacja Webowa\r\n    participant O jako Us\u0142uga Zam\u00f3wie\u0144\r\n    participant P jako Us\u0142uga P\u0142atno\u015bci\r\n    participant I jako Us\u0142uga Magazynu\r\n    participant N jako Us\u0142uga Powiadomie\u0144\r\n    \r\n    C-&gt;&gt;W: Dodaj przedmioty do koszyka\r\n    C-&gt;&gt;W: Kliknij \"Zako\u0144cz zakup\"\r\n    W-&gt;&gt;O: POST \/orders {items, shipping}\r\n    O-&gt;&gt;I: Rezerwuj zapasy\r\n    I--&gt;&gt;O: Rezerwacja potwierdzona\r\n    O-&gt;&gt;P: Przetw\u00f3rz p\u0142atno\u015b\u0107\r\n    P--&gt;&gt;O: P\u0142atno\u015b\u0107 udana\r\n    O-&gt;&gt;O: Utw\u00f3rz rekord zam\u00f3wienia\r\n    O-&gt;&gt;N: Wy\u015blij potwierdzenie zam\u00f3wienia\r\n    N--&gt;&gt;C: Potwierdzenie e-mail\r\n    O--&gt;&gt;W: 201 Created {orderId}\r\n    W--&gt;&gt;C: Poka\u017c stron\u0119 sukcesu\r\n    \r\n    Note over O,P: Krytyczny obszar&lt;br\/&gt;musi by\u0107 transakcyjny\r\n    rect rgba(200, 200, 0, 0.2)\r\n        O-&gt;&gt;P: Obci\u0105\u017c kart\u0119\r\n        P--&gt;&gt;O: ID transakcji\r\n    end\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNplks1q20AUhfeFvsMlqxbsxPXSFEOxNyLUEm2DILsr6aKOxppR56dGE7IJKX2GkMfItrtY79WJx4rtSIgBcT6de+bMaPplSeS0ZFgqrN+\/A\/+gNVLYOiMVvhtUhuWsQWFgARVyCZdrRsIM5TTIX5o145hXCCllcoNDMA7gle7ubIlwjfXz04ZRdz9Ek1M06e7QCNk95mzIRqfsVyzRtcIOwdUbU7lhWMj6kCCsi\/F8ns5gKQusoFGOippJ00IhgUvtWo4nnK+FC1bB2bU37+5zBw65bc4ClHoonkESf\/8BF1IVpDTcMEO1HoH+yZqGifI2oLFHoxl8I0dqYytv06BugxaNg08Qdy030vjyVOGkwINB4mf5yGbz\/KQcNH1v278BSfY+yUEAW+Cxg1ev9r8r4j6yDxIOSrAjbDWDtO0e137nr0k8QUN69TJz4WeeYDSuka17v1DldPIJForQUAE3u7Ki4rbvsTfh2P0DbZQU2wfQluek7fHxraQhkL9JQTzybVyq1rS5Ey3ITDtUnzN1Ma+tZpC1fvNGodDI87YS+6oV5QZUmeGH6WQygt3y8p5PPwbgqOo4y9n2j8\/D\/TXbPhz0vudo+Tqh2l9dEsV\/ez8kBg==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1klFrgzAUhd8H+w+XPm3Qrl0fZRSK3YMvKuugzzHeaqgmLokdpfS\/78YorrQVEeN3cu+5Jxr8aVFy3AhWaFY\/PwFdrLVKtnWG2q8bpq3gomHSQgjMQNgaq+p7eOfwDjNYN80tTRxNdI4atqiPguOtJnWalJ1qpMVDVeRUkTySSOnTY13sdLGyYi84s0LJa6l\/hrPVahfAOs9BWKwNWAWcilzRsBL8AJOwRH5QrZ14uCOYBJAm22+YKzeZgXNXZAqmFE0jZHHx0oSkUQBfaMgBghjMexrNfCWPvVWu5F7oGvOxQEq9tOJoDI3ZZeRZ2m8fgjMtd6J9W417CYcamUXojIJGTi8jjwMKR+Y97Zt3Trwmdj3CAD5rJqo7PJn5pJaL975RDueuWJRfhrh8iW2pfgePNEhxdRx0XGTxSB6Saeo8CzpOVoFB7pp9ZHq+qukPhAzBaiYN676zflQay4IuMvayXCym0D3c\/bZ89YJ\/WYYl0wW6w85HNmT5PdaGaOM55fMHOQD0Aw==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1klFrgzAUhd8H+w+XPm3Qrl0fZRSK3YMvKuugzzHeaqgmLokdpfS\/78YorrQVEeN3cu+5Jxr8aVFy3AhWaFY\/PwFdrLVKtnWG2q8bpq3gomHSQgjMQNgaq+p7eOfwDjNYN80tTRxNdI4atqiPguOtJnWalJ1qpMVDVeRUkTySSOnTY13sdLGyYi84s0LJa6l\/hrPVahfAOs9BWKwNWAWcilzRsBL8AJOwRH5QrZ14uCOYBJAm22+YKzeZgXNXZAqmFE0jZHHx0oSkUQBfaMgBghjMexrNfCWPvVWu5F7oGvOxQEq9tOJoDI3ZZeRZ2m8fgjMtd6J9W417CYcamUXojIJGTi8jjwMKR+Y97Zt3Trwmdj3CAD5rJqo7PJn5pJaL975RDueuWJRfhrh8iW2pfgePNEhxdRx0XGTxSB6Saeo8CzpOVoFB7pp9ZHq+qukPhAzBaiYN676zflQay4IuMvayXCym0D3c\/bZ89YJ\/WYYl0wW6w85HNmT5PdaGaOM55fMHOQD0Aw==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><strong>Cechy diagramu sekwencji:<\/strong><\/p>\n<ul>\n<li>\n<p><code data-backticks=\"1\">autonumber<\/code>\u00a0do automatycznego numerowania krok\u00f3w<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">participant<\/code>\u00a0deklaracje<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">-&gt;&gt;<\/code>\u00a0do wywo\u0142a\u0144 synchronicznych<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">--&gt;&gt;<\/code>\u00a0do odpowiedzi<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">Notatka nad<\/code> do adnotacji<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">prostok\u0105t<\/code> do wyr\u00f3\u017cniania sekcji<\/p>\n<\/li>\n<\/ul>\n<h3>Tutoria 4: Wykres Gantta do planowania sprintu<\/h3>\n<p>Mermaid obs\u0142uguje r\u00f3wnie\u017c wizualizacj\u0119 harmonogramu projektu.<br \/>\n<strong>Przyk\u0142adowy kod:<\/strong><\/p>\n<p><img alt=\"Wykres Gantta dla Sprintu 24 modu\u0142u uwierzytelniania, pokazuj\u0105cy zadania harmonogramu dla zespo\u0142\u00f3w Backend, Frontend i Integracja od 1 czerwca do 17 czerwca.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8bd9463b2.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFkUFrwzAMhe+D\/QddemtY64QdettoCx0rFNoxdvQSNROr7eIoZfv3U+IkTaBhOhhj5XvSe8m1Zb6\/AykmPiHsz54sg0oggqeSv9AypZrJWdi6rDxh+DjTjGvnjWaAD6lou42Wy9DTP1S0vYl5mGThOZwFprXYs06\/0TatJRaUW3jabSB1lr1OuYBQi8xZnNYjsZhPQc1UEs0eo1l1b\/CNOZ\/QyKbw8n6QCf5CKTa4SNGlEhBc9fB4CnE7XbP+1AWCodwHq20tupvggugjo2+lGvzNEgNjwWRzGNSATnp0fKWHqay92O9ieXU5WUnEnCUDcXdL+VgR89vGDk4iBqOtzkM8Y7xqd+vUGoWddyyrYQbeleJxVCEeKKgxfxtx12QcGtUvp+vjTYtUr9SFl1zFV2r1X\/LUcxeE2nT2mJae+Bd0mRGPwXEPrm39ASby08A=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFkUFrwzAMhe+D\/QddemtY64QdettoCx0rFNoxdvQSNROr7eIoZfv3U+IkTaBhOhhj5XvSe8m1Zb6\/AykmPiHsz54sg0oggqeSv9AypZrJWdi6rDxh+DjTjGvnjWaAD6lou42Wy9DTP1S0vYl5mGThOZwFprXYs06\/0TatJRaUW3jabSB1lr1OuYBQi8xZnNYjsZhPQc1UEs0eo1l1b\/CNOZ\/QyKbw8n6QCf5CKTa4SNGlEhBc9fB4CnE7XbP+1AWCodwHq20tupvggugjo2+lGvzNEgNjwWRzGNSATnp0fKWHqay92O9ieXU5WUnEnCUDcXdL+VgR89vGDk4iBqOtzkM8Y7xqd+vUGoWddyyrYQbeleJxVCEeKKgxfxtx12QcGtUvp+vjTYtUr9SFl1zFV2r1X\/LUcxeE2nT2mJae+Bd0mRGPwXEPrm39ASby08A=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1kU1qwzAQhfeF3mE22dk0sU0X2aVNCmkxBBoo7U6xJ47iWDKSjJGXoT1Rj9DmXpV\/E5d4MEZ\/75PmvYgwpW5vwJTSKjsd4TUVlClwPLDB52G5lOUURaEVHhgl5qvPb7lIiIKQKA3wbsr2fXs+721ySQFGyd0orJfrv8Q42BN4IEGMrNlZCb7HWPHcXIAQc6YEidXPdw6z1RLqmhaCbyhnaJWzEOXEAmfsePb43h6X44a1TNIDJsgUKa\/J5OmYRRSe39YNxoB1zohVMZwLhmuB2zB8GolKviGFNk0yHeygrWk3MgAjSnlLatRrlMaVPYaMSxXzHKFXPb3X6t2zvufTkzBudEa98CQ1FpiIDjyq7CJXydtSNbne3AcRxe9XWFReK25SIAkdhDjVAztew3jcmYUyDDBJST2ods9qZ6DBpWmvdrvJr5tfhN9H0+ottW\/ef98XzmLIb9q2UwNaQ2ZZqBVssEgpBgWePqXKyRDAbQFVP3\/WVd1A\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">gantt\r\n    tytu\u0142 Sprint 24 - Modu\u0142 uwierzytelniania\r\n    format daty  YYYY-MM-DD\r\n    format osi  %m\/%d\r\n    \r\n    sekcja Backend\r\n    Projektowanie kontrakt\u00f3w API       :zrobione,    des1, 2024-06-01, 2d\r\n    Implementacja us\u0142ugi JWT      :aktywna,  des2, 2024-06-03, 3d\r\n    Migracja bazy danych         :         des3, po des2, 2d\r\n    Testy jednostkowe              :         des4, po des3, 2d\r\n    \r\n    sekcja Frontend\r\n    Komponent logowania           :         front1, 2024-06-03, 3d\r\n    Zarz\u0105dzanie tokenami          :         front2, po front1, 2d\r\n    Chronione trasy          :         front3, po front2, 2d\r\n    \r\n    sekcja Integracja\r\n    Integracja API           :         int1, po des4, 2d\r\n    Testy E2E              :         int2, po int1, 3d\r\n    Audyt bezpiecze\u0144stwa           :         int3, po int2, 2d\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1kU1qwzAQhfeF3mE22dk0sU0X2aVNCmkxBBoo7U6xJ47iWDKSjJGXoT1Rj9DmXpV\/E5d4MEZ\/75PmvYgwpW5vwJTSKjsd4TUVlClwPLDB52G5lOUURaEVHhgl5qvPb7lIiIKQKA3wbsr2fXs+721ySQFGyd0orJfrv8Q42BN4IEGMrNlZCb7HWPHcXIAQc6YEidXPdw6z1RLqmhaCbyhnaJWzEOXEAmfsePb43h6X44a1TNIDJsgUKa\/J5OmYRRSe39YNxoB1zohVMZwLhmuB2zB8GolKviGFNk0yHeygrWk3MgAjSnlLatRrlMaVPYaMSxXzHKFXPb3X6t2zvufTkzBudEa98CQ1FpiIDjyq7CJXydtSNbne3AcRxe9XWFReK25SIAkdhDjVAztew3jcmYUyDDBJST2ods9qZ6DBpWmvdrvJr5tfhN9H0+ottW\/ef98XzmLIb9q2UwNaQ2ZZqBVssEgpBgWePqXKyRDAbQFVP3\/WVd1A\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFkUFrwzAMhe+D\/QddemtY64QdettoCx0rFNoxdvQSNROr7eIoZfv3U+IkTaBhOhhj5XvSe8m1Zb6\/AykmPiHsz54sg0oggqeSv9AypZrJWdi6rDxh+DjTjGvnjWaAD6lou42Wy9DTP1S0vYl5mGThOZwFprXYs06\/0TatJRaUW3jabSB1lr1OuYBQi8xZnNYjsZhPQc1UEs0eo1l1b\/CNOZ\/QyKbw8n6QCf5CKTa4SNGlEhBc9fB4CnE7XbP+1AWCodwHq20tupvggugjo2+lGvzNEgNjwWRzGNSATnp0fKWHqay92O9ieXU5WUnEnCUDcXdL+VgR89vGDk4iBqOtzkM8Y7xqd+vUGoWddyyrYQbeleJxVCEeKKgxfxtx12QcGtUvp+vjTYtUr9SFl1zFV2r1X\/LUcxeE2nT2mJae+Bd0mRGPwXEPrm39ASby08A=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFkUFrwzAMhe+D\/QddemtY64QdettoCx0rFNoxdvQSNROr7eIoZfv3U+IkTaBhOhhj5XvSe8m1Zb6\/AykmPiHsz54sg0oggqeSv9AypZrJWdi6rDxh+DjTjGvnjWaAD6lou42Wy9DTP1S0vYl5mGThOZwFprXYs06\/0TatJRaUW3jabSB1lr1OuYBQi8xZnNYjsZhPQc1UEs0eo1l1b\/CNOZ\/QyKbw8n6QCf5CKTa4SNGlEhBc9fB4CnE7XbP+1AWCodwHq20tupvggugjo2+lGvzNEgNjwWRzGNSATnp0fKWHqay92O9ieXU5WUnEnCUDcXdL+VgR89vGDk4iBqOtzkM8Y7xqd+vUGoWddyyrYQbeleJxVCEeKKgxfxtx12QcGtUvp+vjTYtUr9SFl1zFV2r1X\/LUcxeE2nT2mJae+Bd0mRGPwXEPrm39ASby08A=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<hr\/>\n<h2>4. Pog\u0142\u0119bione wprowadzenie do PlantUML: Architektura przedsi\u0119biorstwa {#plantuml-tutorial}<\/h2>\n<p>PlantUML \u015bwietnie radzi sobie z formalnymi diagramami UML i dokumentacj\u0105 architektury przedsi\u0119biorstwa. Przejd\u017amy do praktycznych przyk\u0142ad\u00f3w.<\/p>\n<h3>Tutoria 1: Diagram komponent\u00f3w dla platformy e-commerce<\/h3>\n<p><strong>Przyk\u0142adowy kod:<\/strong><\/p>\n<p><img alt=\"Diagram architektury warstwowej dla platformy e-commerce, szczeg\u00f3\u0142owo opisuj\u0105cy warstwy prezentacji, API, us\u0142ug biznesowych i danych.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8bf0e526c.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VLHBRzGm4BvRydyOblFsm953rNrGXDI5BIl40VNW9DEDrTWEVXH5YF_Es76UIFZa-RvlFC_apdbXVL0DPszyZGgXROJKdBaNgLjXXO92b2zNQuAk3gOn5jxUfpENb4QrHgFs5zyr2FJSEyuuyzAJjVcmFHYbq9O8vqRuPsCLRE4m-C3EbhNqMFfWSHFzMeeehkHvjkX88Rmq6Xv4XtO3lpa3EZ--Om7trcYFkde2uO20J9rC8IdmhcqJqPkPsrLAQZWALnT6sDupOPpzMSJUdJ-jGqRee_3uItJ9Bzy7Db03jPTbIhT_cA3CVYKjF4X5XTh4HI3Pwy3xuAH6v-22zbMMwAO43iABnbm79hsJiQpuOYkq2puXcJsBJiMEp_cCPSMbbcqhzJB406RDP-FbSovpeKj4jwxdI0ckEbaHL0YN9cogK7euxZSf6JAF-xMeBofBal6lvfkR9F4-A7u634IVgA4ncyTe9j7fCISQ5scxlPsccTTdWVLhiu0uozS4zwEU8xC1p-5nNdCm3ucpljG8ZNEPe6aE4pRqdBDXEP9pxkEa6ziM4qt8q2NEXhMukRcbji1xQ4FHI5S3lXBiE1ktObIuKBZIoW97JP_8_nIStT6tIZ-7lm00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VLHBRzGm4BvRydyOblFsm953rNrGXDI5BIl40VNW9DEDrTWEVXH5YF_Es76UIFZa-RvlFC_apdbXVL0DPszyZGgXROJKdBaNgLjXXO92b2zNQuAk3gOn5jxUfpENb4QrHgFs5zyr2FJSEyuuyzAJjVcmFHYbq9O8vqRuPsCLRE4m-C3EbhNqMFfWSHFzMeeehkHvjkX88Rmq6Xv4XtO3lpa3EZ--Om7trcYFkde2uO20J9rC8IdmhcqJqPkPsrLAQZWALnT6sDupOPpzMSJUdJ-jGqRee_3uItJ9Bzy7Db03jPTbIhT_cA3CVYKjF4X5XTh4HI3Pwy3xuAH6v-22zbMMwAO43iABnbm79hsJiQpuOYkq2puXcJsBJiMEp_cCPSMbbcqhzJB406RDP-FbSovpeKj4jwxdI0ckEbaHL0YN9cogK7euxZSf6JAF-xMeBofBal6lvfkR9F4-A7u634IVgA4ncyTe9j7fCISQ5scxlPsccTTdWVLhiu0uozS4zwEU8xC1p-5nNdCm3ucpljG8ZNEPe6aE4pRqdBDXEP9pxkEa6ziM4qt8q2NEXhMukRcbji1xQ4FHI5S3lXBiE1ktObIuKBZIoW97JP_8_nIStT6tIZ-7lm00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XLJDZjCm4Bv7oZiCuTmzSEImsdRH8WJB5bRL7X27IU9jfqviox4LEOXBnLlm65oveRmNJk8qQKL5JlOtt_nzC_5DPL0RMnPnzCBiMCb05KWYZYfEGg764bBC-5PBA_9RMKWDB-_wRqx9PAcaOC8y6bSmyE5UnL4S6MTiUu1aNQ1vbhf4O0jFBPdE62nWgRCT6SQDrGXy3F7dLvrqpWevCGF94-hAr0XAiyQRCTjJ0j_Y2FptvKvBOPZ8uOcbidPVOOzSTfTWNwg2k7T1A6LAXS30kEzkB93Mjb1a0FEI15L6ev5w92uxC8w-_wkYvVhTLCdAwz13mV4j6bQZ2zPDJKmtph1240fYOtHhTe7niDNUa3M2E5IDIxbiVsOKU9zzi0zKaZchP5Er1xibIAaHh98rc-ePJ5vND5Z8hGsHReVh6Qd1qijEhFqHQ0ywP_gCfDe36Z4lQuskz2CvuzMkSks1ZwJ77Ib5uZobaZLXBijPqe_IqBEx87QEmcMxOtyfDYC6oQgxA2rpo_lr2TLvuCtg4drgEPcrV9blsz_ES5dx-KmfDjNamcN1zXmXUHyEGt-zNe5-_oaqvnSK5elhQKc6VJp5-jKxXU8e77jus9uvCjkJENmS-XmC8uwZ_j13ntbEq3Iz2Hld54SXyE0Sv9vuHqMxGdjar2kEGYgukhhsii1hK3RrlwhTGvEZzZywOHoDoITMPTEAQvUUyeQ2_iUAenl_KlYtwIy0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n!theme plain\r\nskinparam backgroundColor #FFFFFF\r\nskinparam componentStyle uml2\r\n\r\ntytu\u0142 \"Platforma e-commerce - Architektura komponent\u00f3w\"\r\n\r\npakiet \"Warstwa prezentacji\" {\r\n    [Frontend Webowy] jako Web\r\n    [Aplikacja mobilna] jako Mobile\r\n    [Pulpit administratora] jako Admin\r\n}\r\n\r\npakiet \"Warstwa API\" {\r\n    [Brama API] jako Gateway\r\n    [Uwierzytelnianie] jako Auth\r\n    [Ogranicznik szybko\u015bci] jako RateLimit\r\n}\r\n\r\npakiet \"Us\u0142ugi biznesowe\" {\r\n    [Us\u0142uga katalogu] jako Catalog\r\n    [Us\u0142uga zam\u00f3wie\u0144] jako Order\r\n    [Us\u0142uga p\u0142atno\u015bci] jako Payment\r\n    [Us\u0142uga wysy\u0142ki] jako Shipping\r\n    [Us\u0142uga powiadomie\u0144] jako Notify\r\n}\r\n\r\npakiet \"Warstwa danych\" {\r\n    baza danych \"Baza produkt\u00f3w\" jako ProdDB\r\n    baza danych \"Baza zam\u00f3wie\u0144\" jako OrderDB\r\n    baza danych \"Baza u\u017cytkownik\u00f3w\" jako UserDB\r\n    kolejka \"Kolejka wiadomo\u015bci\" jako MQ\r\n}\r\n\r\nWeb --&gt; Gateway\r\nMobile --&gt; Gateway\r\nAdmin --&gt; Gateway\r\n\r\nGateway --&gt; Auth\r\nGateway --&gt; RateLimit\r\nGateway --&gt; Catalog\r\nGateway --&gt; Order\r\n\r\nOrder --&gt; Payment\r\nOrder --&gt; Shipping\r\nOrder --&gt; Notify\r\n\r\nCatalog --&gt; ProdDB\r\nOrder --&gt; OrderDB\r\nAuth --&gt; UserDB\r\n\r\nPayment ..&gt; MQ : publikuj zdarzenia\r\nShipping ..&gt; MQ : subskrybuj zdarzenia\r\nNotify ..&gt; MQ : subskrybuj zdarzenia\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XLJDZjCm4Bv7oZiCuTmzSEImsdRH8WJB5bRL7X27IU9jfqviox4LEOXBnLlm65oveRmNJk8qQKL5JlOtt_nzC_5DPL0RMnPnzCBiMCb05KWYZYfEGg764bBC-5PBA_9RMKWDB-_wRqx9PAcaOC8y6bSmyE5UnL4S6MTiUu1aNQ1vbhf4O0jFBPdE62nWgRCT6SQDrGXy3F7dLvrqpWevCGF94-hAr0XAiyQRCTjJ0j_Y2FptvKvBOPZ8uOcbidPVOOzSTfTWNwg2k7T1A6LAXS30kEzkB93Mjb1a0FEI15L6ev5w92uxC8w-_wkYvVhTLCdAwz13mV4j6bQZ2zPDJKmtph1240fYOtHhTe7niDNUa3M2E5IDIxbiVsOKU9zzi0zKaZchP5Er1xibIAaHh98rc-ePJ5vND5Z8hGsHReVh6Qd1qijEhFqHQ0ywP_gCfDe36Z4lQuskz2CvuzMkSks1ZwJ77Ib5uZobaZLXBijPqe_IqBEx87QEmcMxOtyfDYC6oQgxA2rpo_lr2TLvuCtg4drgEPcrV9blsz_ES5dx-KmfDjNamcN1zXmXUHyEGt-zNe5-_oaqvnSK5elhQKc6VJp5-jKxXU8e77jus9uvCjkJENmS-XmC8uwZ_j13ntbEq3Iz2Hld54SXyE0Sv9vuHqMxGdjar2kEGYgukhhsii1hK3RrlwhTGvEZzZywOHoDoITMPTEAQvUUyeQ2_iUAenl_KlYtwIy0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VLHBRzGm4BvRydyOblFsm953rNrGXDI5BIl40VNW9DEDrTWEVXH5YF_Es76UIFZa-RvlFC_apdbXVL0DPszyZGgXROJKdBaNgLjXXO92b2zNQuAk3gOn5jxUfpENb4QrHgFs5zyr2FJSEyuuyzAJjVcmFHYbq9O8vqRuPsCLRE4m-C3EbhNqMFfWSHFzMeeehkHvjkX88Rmq6Xv4XtO3lpa3EZ--Om7trcYFkde2uO20J9rC8IdmhcqJqPkPsrLAQZWALnT6sDupOPpzMSJUdJ-jGqRee_3uItJ9Bzy7Db03jPTbIhT_cA3CVYKjF4X5XTh4HI3Pwy3xuAH6v-22zbMMwAO43iABnbm79hsJiQpuOYkq2puXcJsBJiMEp_cCPSMbbcqhzJB406RDP-FbSovpeKj4jwxdI0ckEbaHL0YN9cogK7euxZSf6JAF-xMeBofBal6lvfkR9F4-A7u634IVgA4ncyTe9j7fCISQ5scxlPsccTTdWVLhiu0uozS4zwEU8xC1p-5nNdCm3ucpljG8ZNEPe6aE4pRqdBDXEP9pxkEa6ziM4qt8q2NEXhMukRcbji1xQ4FHI5S3lXBiE1ktObIuKBZIoW97JP_8_nIStT6tIZ-7lm00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VLHBRzGm4BvRydyOblFsm953rNrGXDI5BIl40VNW9DEDrTWEVXH5YF_Es76UIFZa-RvlFC_apdbXVL0DPszyZGgXROJKdBaNgLjXXO92b2zNQuAk3gOn5jxUfpENb4QrHgFs5zyr2FJSEyuuyzAJjVcmFHYbq9O8vqRuPsCLRE4m-C3EbhNqMFfWSHFzMeeehkHvjkX88Rmq6Xv4XtO3lpa3EZ--Om7trcYFkde2uO20J9rC8IdmhcqJqPkPsrLAQZWALnT6sDupOPpzMSJUdJ-jGqRee_3uItJ9Bzy7Db03jPTbIhT_cA3CVYKjF4X5XTh4HI3Pwy3xuAH6v-22zbMMwAO43iABnbm79hsJiQpuOYkq2puXcJsBJiMEp_cCPSMbbcqhzJB406RDP-FbSovpeKj4jwxdI0ckEbaHL0YN9cogK7euxZSf6JAF-xMeBofBal6lvfkR9F4-A7u634IVgA4ncyTe9j7fCISQ5scxlPsccTTdWVLhiu0uozS4zwEU8xC1p-5nNdCm3ucpljG8ZNEPe6aE4pRqdBDXEP9pxkEa6ziM4qt8q2NEXhMukRcbji1xQ4FHI5S3lXBiE1ktObIuKBZIoW97JP_8_nIStT6tIZ-7lm00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><img alt=\"Diagram komponent\u00f3w PlantUML\" decoding=\"async\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e8451e511f.png\"\/><br \/>\n<em>Rysunek 3: Diagram komponent\u00f3w PlantUML pokazuj\u0105cy architektur\u0119 warstwow\u0105<\/em><\/p>\n<h3>Tutoria 2: Diagram wdro\u017cenia dla infrastruktury chmurowej<\/h3>\n<p><strong>Przyk\u0142adowy kod:<\/strong><\/p>\n<h3>Tutoria 3: Model C4 \u2013 Diagram kontener\u00f3w<\/h3>\n<p>Model C4 jest doskona\u0142y do komunikowania architektury oprogramowania na wielu poziomach abstrakcji.<br \/>\n<strong>Przyk\u0142adowy kod:<\/strong><\/p>\n<p><img alt=\"Diagram kontener\u00f3w modelu C4 pokazuj\u0105cy architektur\u0119 wdro\u017cenia w chmurze AWS z publicznymi i prywatnymi podsieci, serwerami webowymi, serwerami API i komponentami magazynowania.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8cec25f51.png\"\/><br \/>\n@startuml<br \/>\n!define AWS_COLOR FF9900<br \/>\n!define DOCKER_COLOR 0DB7ED<br \/>\nskinparam componentStyle uml2<br \/>\nskinparam backgroundColor #FAFAFA<br \/>\ntytu\u0142 \u201eArchitektura wdro\u017cenia w chmurze\u201d<br \/>\npackage \u201eRegion AWS: us-east-1&#8243; {<br \/>\npackage \u201ePodsie\u0107 publiczna&#8221; {<br \/>\n[CloudFront CDN] jako CDN<br \/>\n[Load Balancer aplikacji] jako ALB #AWS_COLOR<br \/>\n}<br \/>\npackage \u201ePodsie\u0107 prywatna 1&#8243; {<br \/>\n[Serwer WWW 1] jako Web1 #DOCKER_COLOR<br \/>\n[Serwer WWW 2] jako Web2 #DOCKER_COLOR<br \/>\n}<br \/>\npackage \u201ePodsie\u0107 prywatna 2&#8243; {<br \/>\n[Serwer API 1] jako API1 #DOCKER_COLOR<br \/>\n[Serwer API 2] jako API2 #DOCKER_COLOR<br \/>\n}<br \/>\npackage \u201eWarstwa danych&#8221; {<br \/>\ndatabase \u201eRDS G\u0142\u00f3wny&#8221; jako RDS1 #AWS_COLOR<br \/>\ndatabase \u201eRDS Replika&#8221; jako RDS2 #AWS_COLOR<br \/>\n[ElastiCache Redis] jako Cache #AWS_COLOR<br \/>\n}<br \/>\npackage \u201ePrzechowywanie&#8221; {<br \/>\n[Bucket S3] jako S3 #AWS_COLOR<br \/>\n[EFS Przechowywanie wsp\u00f3\u0142dzielone] jako EFS #AWS_COLOR<br \/>\n}<br \/>\n}<br \/>\nInternet \u2013&gt; CDN<br \/>\nCDN \u2013&gt; ALB<br \/>\nALB \u2013&gt; Web1<br \/>\nALB \u2013&gt; Web2<br \/>\nWeb1 \u2013&gt; API1<br \/>\nWeb1 \u2013&gt; API2<br \/>\nWeb2 \u2013&gt; API1<br \/>\nWeb2 \u2013&gt; API2<br \/>\nAPI1 \u2013&gt; RDS1<br \/>\nAPI2 \u2013&gt; RDS1<br \/>\nRDS1 -[dashed]&gt; RDS2<br \/>\nAPI1 \u2013&gt; Cache<br \/>\nAPI2 \u2013&gt; Cache<br \/>\nAPI1 \u2013&gt; S3<br \/>\nAPI2 \u2013&gt; S3<br \/>\nWeb1 \u2013&gt; EFS<br \/>\nWeb2 \u2013&gt; EFS<br \/>\n@enduml<\/p>\n<h3>Tutoria 4: Diagram aktywno\u015bci dla przep\u0142ywu pracy<\/h3>\n<p><strong>Przyk\u0142adowy kod:<\/strong><\/p>\n<p><img alt=\"Diagram aktywno\u015bci przep\u0142ywu pracy pokazuj\u0105cy interakcje klienta i systemu dla zam\u00f3wienia online, w tym walidacj\u0119, p\u0142atno\u015b\u0107 i zadania w tle.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8d19bd807.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XL9DJ-Gm3BrNwd-mE0r_eNFWengXMMa1RPVTSqXT6aqQLuupg8Bzx-ka349muEXd-_czbrn6CInfydNrsgOeD26_rbL1wwgvPdgE2FTCVR8IjmfTzJq8GQi3kTIMHLoX4Us1KeQLhLkYuAHSpH_ZNMy4omxi5Ir4hV4s-Op_9Z5U8JV0fhJXwcYSDuyUByv1HWomMJ2UrnL0ymiZyX5X7uuOX7ZHHVGgSXDedUX6UeQx9403T4BsiCsmUfjrClHkAFe-k6rsGP2X6zqyk_04Qf4n5f4TUhG2zsQPz1hyH1cf_somP13ZQUhDoMcdIpPtX-I_ccaPSm1tt2DlL_6g45eAW-F9YAC0kqcpM9iFSydn6-kdmpjcMbbx56F73-wRxFNzx8ctr1gPaPJDhudLrQpFvegKisjZ3qzCIJN-eCTu1Y_bx0q6v3Tbv2okQcz9tB30NyCuKeeP_PVvBbM6_hZ_\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XL9DJ-Gm3BrNwd-mE0r_eNFWengXMMa1RPVTSqXT6aqQLuupg8Bzx-ka349muEXd-_czbrn6CInfydNrsgOeD26_rbL1wwgvPdgE2FTCVR8IjmfTzJq8GQi3kTIMHLoX4Us1KeQLhLkYuAHSpH_ZNMy4omxi5Ir4hV4s-Op_9Z5U8JV0fhJXwcYSDuyUByv1HWomMJ2UrnL0ymiZyX5X7uuOX7ZHHVGgSXDedUX6UeQx9403T4BsiCsmUfjrClHkAFe-k6rsGP2X6zqyk_04Qf4n5f4TUhG2zsQPz1hyH1cf_somP13ZQUhDoMcdIpPtX-I_ccaPSm1tt2DlL_6g45eAW-F9YAC0kqcpM9iFSydn6-kdmpjcMbbx56F73-wRxFNzx8ctr1gPaPJDhudLrQpFvegKisjZ3qzCIJN-eCTu1Y_bx0q6v3Tbv2okQcz9tB30NyCuKeeP_PVvBbM6_hZ_\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bL8nRXin4EmFk3yiNCb5FY0LCP00ALB4I10OKBSILpPrFF90xe4WupG2XBp1y3FSfVNTlx8yoOgWL6bdPuSxmxa9Z9xxrjJLusUZoV9ZNKrONSrlVQPxC-mLRg7pJlKDfuNW7rr1b8F6XPmQN1ovMpN-dc0CXIUItr9WQaLolepaqqOtVP7Af5hjE44yIlH5uilAw7M6DOwxnaNDmnwQw7Xuag7UmEn3JkUxGURA1PbtbjvV0p-GXHbZSrrN0FElbCb7UKxSM6Zn7dEoBfR3o0I2cTLqODwbyJbgOWChZmsmY-ZBGI2hhXEwLNepsJabDB-JF28MlwWyXUaGdCH5RgN9PsY9dHgUe1jtoDQDpsjz6Ke9ZUFhYx1FhE7NkTs_A0HTn2GOfmJzr_3terB6zlL5_8Y_nScVqLkWTorg8n8iKwyoReVzEXquIsouHwFpVmOsxgGU5nO1536k7ywIavMGv5lnxBgfDXVlSXyk68SlgAjEAgbPEmjNIrGeGoaF6xg27zDDdyYI5v5D4VHJPmIzbRXGkVRDZg0_YzgDN2Qb_mC0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n|Klient|\r\nstart\r\n:Przegl\u0105daj produkty;\r\n:Dodaj do koszyka;\r\n:Przejd\u017a do kasy;\r\n\r\n|System|\r\n:Zweryfikuj przedmioty w koszyku;\r\n:Oblicz ca\u0142kowit\u0105 kwot\u0119;\r\nif (Czy przedmioty s\u0105 dost\u0119pne?) then (tak)\r\n  :Rezerwuj stan magazynowy;\r\nelse (nie)\r\n  :Wy\u015bwietl brak towaru;\r\n  stop\r\nendif\r\n\r\n|Klient|\r\n:Wprowad\u017a adres dostawy;\r\n:Wybierz metod\u0119 p\u0142atno\u015bci;\r\n\r\n|System|\r\n:Przetw\u00f3rz p\u0142atno\u015b\u0107;\r\nif (Czy p\u0142atno\u015b\u0107 si\u0119 powiod\u0142a?) then (tak)\r\n  :Utw\u00f3rz zam\u00f3wienie;\r\n  :Wy\u015blij e-mail potwierdzaj\u0105cy;\r\n  :Zaktualizuj stan magazynowy;\r\nelse (nie)\r\n  :Wy\u015bwietl b\u0142\u0105d p\u0142atno\u015bci;\r\n  detach\r\nendif\r\n\r\n:Wysy\u0142ka zam\u00f3wienia;\r\n:Zaktualizuj status zam\u00f3wienia;\r\nstop\r\n\r\npartition \"Zadania w tle\" {\r\n  :Generuj faktur\u0119;\r\n  :Powiadom magazyn;\r\n}\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bL8nRXin4EmFk3yiNCb5FY0LCP00ALB4I10OKBSILpPrFF90xe4WupG2XBp1y3FSfVNTlx8yoOgWL6bdPuSxmxa9Z9xxrjJLusUZoV9ZNKrONSrlVQPxC-mLRg7pJlKDfuNW7rr1b8F6XPmQN1ovMpN-dc0CXIUItr9WQaLolepaqqOtVP7Af5hjE44yIlH5uilAw7M6DOwxnaNDmnwQw7Xuag7UmEn3JkUxGURA1PbtbjvV0p-GXHbZSrrN0FElbCb7UKxSM6Zn7dEoBfR3o0I2cTLqODwbyJbgOWChZmsmY-ZBGI2hhXEwLNepsJabDB-JF28MlwWyXUaGdCH5RgN9PsY9dHgUe1jtoDQDpsjz6Ke9ZUFhYx1FhE7NkTs_A0HTn2GOfmJzr_3terB6zlL5_8Y_nScVqLkWTorg8n8iKwyoReVzEXquIsouHwFpVmOsxgGU5nO1536k7ywIavMGv5lnxBgfDXVlSXyk68SlgAjEAgbPEmjNIrGeGoaF6xg27zDDdyYI5v5D4VHJPmIzbRXGkVRDZg0_YzgDN2Qb_mC0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XL9DJ-Gm3BrNwd-mE0r_eNFWengXMMa1RPVTSqXT6aqQLuupg8Bzx-ka349muEXd-_czbrn6CInfydNrsgOeD26_rbL1wwgvPdgE2FTCVR8IjmfTzJq8GQi3kTIMHLoX4Us1KeQLhLkYuAHSpH_ZNMy4omxi5Ir4hV4s-Op_9Z5U8JV0fhJXwcYSDuyUByv1HWomMJ2UrnL0ymiZyX5X7uuOX7ZHHVGgSXDedUX6UeQx9403T4BsiCsmUfjrClHkAFe-k6rsGP2X6zqyk_04Qf4n5f4TUhG2zsQPz1hyH1cf_somP13ZQUhDoMcdIpPtX-I_ccaPSm1tt2DlL_6g45eAW-F9YAC0kqcpM9iFSydn6-kdmpjcMbbx56F73-wRxFNzx8ctr1gPaPJDhudLrQpFvegKisjZ3qzCIJN-eCTu1Y_bx0q6v3Tbv2okQcz9tB30NyCuKeeP_PVvBbM6_hZ_\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XL9DJ-Gm3BrNwd-mE0r_eNFWengXMMa1RPVTSqXT6aqQLuupg8Bzx-ka349muEXd-_czbrn6CInfydNrsgOeD26_rbL1wwgvPdgE2FTCVR8IjmfTzJq8GQi3kTIMHLoX4Us1KeQLhLkYuAHSpH_ZNMy4omxi5Ir4hV4s-Op_9Z5U8JV0fhJXwcYSDuyUByv1HWomMJ2UrnL0ymiZyX5X7uuOX7ZHHVGgSXDedUX6UeQx9403T4BsiCsmUfjrClHkAFe-k6rsGP2X6zqyk_04Qf4n5f4TUhG2zsQPz1hyH1cf_somP13ZQUhDoMcdIpPtX-I_ccaPSm1tt2DlL_6g45eAW-F9YAC0kqcpM9iFSydn6-kdmpjcMbbx56F73-wRxFNzx8ctr1gPaPJDhudLrQpFvegKisjZ3qzCIJN-eCTu1Y_bx0q6v3Tbv2okQcz9tB30NyCuKeeP_PVvBbM6_hZ_\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<hr\/>\n<h2>5. Podstawy Graphviz: Wizualizacja z\u0142o\u017conych sieci {#graphviz-tutorial}<\/h2>\n<p>Graphviz (j\u0119zyk DOT) \u015bwietnie nadaje si\u0119 do wizualizacji z\u0142o\u017conych relacji i topologii sieci, gdzie istotne s\u0105 algorytmy uk\u0142adania.<\/p>\n<h3>Tutoria 1: Wykres zale\u017cno\u015bci mikroserwis\u00f3w<\/h3>\n<p><strong>Przyk\u0142adowy kod:<\/strong><\/p>\n<p><img alt=\"Diagram grafu zale\u017cno\u015bci mikroserwis\u00f3w pokazuj\u0105cy Bram\u0119 API, Sie\u0107 Us\u0142ug (Service Mesh) oraz po\u0142\u0105czone us\u0142ugi z bazami danych i zewn\u0119trznymi bramami.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8d4a5db75.png\"\/><br \/>\n<em>Rysunek 4: Wizualizacja Graphviz przedstawiaj\u0105ca zale\u017cno\u015bci mi\u0119dzy mikroserwisami i przep\u0142yw danych<\/em><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVU1vEzEQvSPxH6zlGlRoKaKqFqklFeohJSJwqnJw7HF2xMZe2U7bBfW\/11lnP2J7A+xhpZ15Ox\/Pbzwc15pWBZkh08qAfkAGZgoVSA6SIRjy5\/Ur4h5N5S+OOv9xfekNUnEg96agFeQr9TQhxtYl5JlWW\/cvnwgsS+DZhAglraQb57rSSMtsuQ8AfO0ChF6PN\/gb8vfvWqh\/n5yQu11SDgIlWlTSkEe0BWGqVNoMy9olb6x59gbOxKngXdrsan5LvlILj7TODpFCMM5Pe+TC80FmYIoIKi7Yhywq8IvSQFoe92F+um+yj5V1VWxd4aHxm+YJ6JzWG5A2st\/KB2dWuo48d8qiQEZ3HMWZJS1ri8yEnq6JKbV0RQ2Y+KRZXaI7Xu2OacAG+wQf2UVPXNPx9Droa2CYa8W3zA5NfVm9savo5smCdoCA2kiDB0d0BufiPOuEyakpel0uQ3ZbSbT2mw3FMiJvMVuM0vYdyoZxU2BlUmJ7+znQVFpoO1hSMzEsqaIYltZVjBtTWowc1V5K831Hw\/Melp5EHFY9aOQ4ZnwsEuB\/ny0Pj3UbRjgIG4oqOZjNH2m5jeMTQkxMthfJ6GSlGEmnvPdD5GdoebT3\/wjQjc5iu2r2kHG3vyZrt0MqlGvv3i+gdgnlxm2Ly96WHJXRK\/Z5mPhvkZNjc+xKPn4tu9zPL0KfHeo=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj DOT w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVU1vEzEQvSPxH6zlGlRoKaKqFqklFeohJSJwqnJw7HF2xMZe2U7bBfW\/11lnP2J7A+xhpZ15Ox\/Pbzwc15pWBZkh08qAfkAGZgoVSA6SIRjy5\/Ur4h5N5S+OOv9xfekNUnEg96agFeQr9TQhxtYl5JlWW\/cvnwgsS+DZhAglraQb57rSSMtsuQ8AfO0ChF6PN\/gb8vfvWqh\/n5yQu11SDgIlWlTSkEe0BWGqVNoMy9olb6x59gbOxKngXdrsan5LvlILj7TODpFCMM5Pe+TC80FmYIoIKi7Yhywq8IvSQFoe92F+um+yj5V1VWxd4aHxm+YJ6JzWG5A2st\/KB2dWuo48d8qiQEZ3HMWZJS1ri8yEnq6JKbV0RQ2Y+KRZXaI7Xu2OacAG+wQf2UVPXNPx9Droa2CYa8W3zA5NfVm9savo5smCdoCA2kiDB0d0BufiPOuEyakpel0uQ3ZbSbT2mw3FMiJvMVuM0vYdyoZxU2BlUmJ7+znQVFpoO1hSMzEsqaIYltZVjBtTWowc1V5K831Hw\/Melp5EHFY9aOQ4ZnwsEuB\/ny0Pj3UbRjgIG4oqOZjNH2m5jeMTQkxMthfJ6GSlGEmnvPdD5GdoebT3\/wjQjc5iu2r2kHG3vyZrt0MqlGvv3i+gdgnlxm2Ly96WHJXRK\/Z5mPhvkZNjc+xKPn4tu9zPL0KfHeo=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj DOT w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">DOT<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVd1O2zAYvUfiHaxw24kNxjSEgkTVaeKiW7WOK9QLz\/7cGFI7sh2yZOKGt+A5eITBe82t2ySNnTJ60YvznXx\/PsemfK5wlqAxJ0pqUHecgB5BBoKCIBw0+rO\/h+xPYXFLuYp\/Ds8cICQFdK0TnEH8S\/4eIG3KFOJIydx+SweMpynQaICYFEbghQ1dKI7TaLZOAHRuE3Sjjq95BfGH9xuq+z88RCNgXHByA6h4fqxeHv4+FahCtzKVCi94u7FlebLE4+gAjtkRo3Xh6GJyib5iAwUuo20mY4TSo4Y5dRtBY9CJR2Wn5GPktXilXx7yOUeZpNrgQhawznVl14vWCaO6ldwkHvhd0QB1gssFCOPhl+LOwlKVXuSbNJxxgg2Xwq8scFoaTnQ3Uk8yxFWJKBYlSfwjJ2XK7Tkre16tpZDP8ImcNvtbzTwadiZrARMlaU5MG2oaa0BvuxUU4vnRqEpAjxy3zuoYTthJVGuUYp00Ep11N7zRxgb\/ssA89RY4HU97V\/cDUmxVGtLbu\/OOrMJaW9KCivFpQQ35tLCqfF6fznxmr\/JCim8map91u\/UgY7vr1iC7Of2mCJD\/31mO7mu2m2ErbVdOQVuuvggLrZ8fkGDA104kva4KbSRc8trZx7lntnP2NySoTTOR1D5GzN45Es1VnskCC45deP0KbV6iWNsn46zBglYJXLAr\/L5d97XEQdfsuo\/77mRXeu\/+HxvYIsQ=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-dot\"><code class=\"language-dot\" data-language=\"dot\" class=\"language-dot\">digraph MicroservicesDependencies {\r\n    rankdir=TB;\r\n    node [shape=box, style=\"rounded,filled\", fontname=\"Arial\"];\r\n    edge [fontname=\"Arial\", fontsize=10];\r\n    \r\n    \/\/ Definicje w\u0119z\u0142\u00f3w z kolorami\r\n    node [fillcolor=\"#e3f2fd\"];\r\n    \"API Gateway\" [fillcolor=\"#ffcdd2\"];\r\n    \"Service Mesh\" [fillcolor=\"#fff9c4\"];\r\n    \r\n    \/\/ Us\u0142ugi podstawowe\r\n    \"User Service\";\r\n    \"Auth Service\";\r\n    \"Order Service\";\r\n    \"Payment Service\";\r\n    \"Inventory Service\";\r\n    \"Notification Service\";\r\n    \"Analytics Service\";\r\n    \r\n    \/\/ Bazy danych\r\n    node [shape=cylinder, fillcolor=\"#c8e6c9\"];\r\n    \"User DB\";\r\n    \"Order DB\";\r\n    \"Product DB\";\r\n    \"Analytics DB\";\r\n    \r\n    \/\/ Us\u0142ugi zewn\u0119trzne\r\n    node [shape=box, fillcolor=\"#f3e5f5\", style=\"dashed,filled\"];\r\n    \"Payment Gateway\";\r\n    \"Email Service\";\r\n    \"SMS Service\";\r\n    \r\n    \/\/ Relacje\r\n    \"API Gateway\" -&gt; \"Service Mesh\";\r\n    \"Service Mesh\" -&gt; \"User Service\";\r\n    \"Service Mesh\" -&gt; \"Auth Service\";\r\n    \"Service Mesh\" -&gt; \"Order Service\";\r\n    \"Service Mesh\" -&gt; \"Payment Service\";\r\n    \"Service Mesh\" -&gt; \"Inventory Service\";\r\n    \r\n    \"User Service\" -&gt; \"User DB\";\r\n    \"Auth Service\" -&gt; \"User DB\";\r\n    \"Order Service\" -&gt; \"Order DB\";\r\n    \"Order Service\" -&gt; \"Inventory Service\";\r\n    \"Order Service\" -&gt; \"Payment Service\";\r\n    \"Inventory Service\" -&gt; \"Product DB\";\r\n    \"Payment Service\" -&gt; \"Payment Gateway\";\r\n    \"Notification Service\" -&gt; \"Email Service\";\r\n    \"Notification Service\" -&gt; \"SMS Service\";\r\n    \"Analytics Service\" -&gt; \"Analytics DB\";\r\n    \r\n    \"Order Service\" -&gt; \"Notification Service\" [style=dashed];\r\n    \"Payment Service\" -&gt; \"Notification Service\" [style=dashed];\r\n    \r\n    \/\/ Podgrafy do grupowania\r\n    {\r\n        rank=same;\r\n        \"User Service\";\r\n        \"Auth Service\";\n    }\r\n    \r\n    {\r\n        rank=same;\r\n        \"Order Service\";\r\n        \"Payment Service\";\r\n        \"Inventory Service\";\n    }\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVd1O2zAYvUfiHaxw24kNxjSEgkTVaeKiW7WOK9QLz\/7cGFI7sh2yZOKGt+A5eITBe82t2ySNnTJ60YvznXx\/PsemfK5wlqAxJ0pqUHecgB5BBoKCIBw0+rO\/h+xPYXFLuYp\/Ds8cICQFdK0TnEH8S\/4eIG3KFOJIydx+SweMpynQaICYFEbghQ1dKI7TaLZOAHRuE3Sjjq95BfGH9xuq+z88RCNgXHByA6h4fqxeHv4+FahCtzKVCi94u7FlebLE4+gAjtkRo3Xh6GJyib5iAwUuo20mY4TSo4Y5dRtBY9CJR2Wn5GPktXilXx7yOUeZpNrgQhawznVl14vWCaO6ldwkHvhd0QB1gssFCOPhl+LOwlKVXuSbNJxxgg2Xwq8scFoaTnQ3Uk8yxFWJKBYlSfwjJ2XK7Tkre16tpZDP8ImcNvtbzTwadiZrARMlaU5MG2oaa0BvuxUU4vnRqEpAjxy3zuoYTthJVGuUYp00Ep11N7zRxgb\/ssA89RY4HU97V\/cDUmxVGtLbu\/OOrMJaW9KCivFpQQ35tLCqfF6fznxmr\/JCim8map91u\/UgY7vr1iC7Of2mCJD\/31mO7mu2m2ErbVdOQVuuvggLrZ8fkGDA104kva4KbSRc8trZx7lntnP2NySoTTOR1D5GzN45Es1VnskCC45deP0KbV6iWNsn46zBglYJXLAr\/L5d97XEQdfsuo\/77mRXeu\/+HxvYIsQ=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVU1vEzEQvSPxH6zlGlRoKaKqFqklFeohJSJwqnJw7HF2xMZe2U7bBfW\/11lnP2J7A+xhpZ15Ox\/Pbzwc15pWBZkh08qAfkAGZgoVSA6SIRjy5\/Ur4h5N5S+OOv9xfekNUnEg96agFeQr9TQhxtYl5JlWW\/cvnwgsS+DZhAglraQb57rSSMtsuQ8AfO0ChF6PN\/gb8vfvWqh\/n5yQu11SDgIlWlTSkEe0BWGqVNoMy9olb6x59gbOxKngXdrsan5LvlILj7TODpFCMM5Pe+TC80FmYIoIKi7Yhywq8IvSQFoe92F+um+yj5V1VWxd4aHxm+YJ6JzWG5A2st\/KB2dWuo48d8qiQEZ3HMWZJS1ri8yEnq6JKbV0RQ2Y+KRZXaI7Xu2OacAG+wQf2UVPXNPx9Droa2CYa8W3zA5NfVm9savo5smCdoCA2kiDB0d0BufiPOuEyakpel0uQ3ZbSbT2mw3FMiJvMVuM0vYdyoZxU2BlUmJ7+znQVFpoO1hSMzEsqaIYltZVjBtTWowc1V5K831Hw\/Melp5EHFY9aOQ4ZnwsEuB\/ny0Pj3UbRjgIG4oqOZjNH2m5jeMTQkxMthfJ6GSlGEmnvPdD5GdoebT3\/wjQjc5iu2r2kHG3vyZrt0MqlGvv3i+gdgnlxm2Ly96WHJXRK\/Z5mPhvkZNjc+xKPn4tu9zPL0KfHeo=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj DOT w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVU1vEzEQvSPxH6zlGlRoKaKqFqklFeohJSJwqnJw7HF2xMZe2U7bBfW\/11lnP2J7A+xhpZ15Ox\/Pbzwc15pWBZkh08qAfkAGZgoVSA6SIRjy5\/Ur4h5N5S+OOv9xfekNUnEg96agFeQr9TQhxtYl5JlWW\/cvnwgsS+DZhAglraQb57rSSMtsuQ8AfO0ChF6PN\/gb8vfvWqh\/n5yQu11SDgIlWlTSkEe0BWGqVNoMy9olb6x59gbOxKngXdrsan5LvlILj7TODpFCMM5Pe+TC80FmYIoIKi7Yhywq8IvSQFoe92F+um+yj5V1VWxd4aHxm+YJ6JzWG5A2st\/KB2dWuo48d8qiQEZ3HMWZJS1ri8yEnq6JKbV0RQ2Y+KRZXaI7Xu2OacAG+wQf2UVPXNPx9Droa2CYa8W3zA5NfVm9savo5smCdoCA2kiDB0d0BufiPOuEyakpel0uQ3ZbSbT2mw3FMiJvMVuM0vYdyoZxU2BlUmJ7+znQVFpoO1hSMzEsqaIYltZVjBtTWowc1V5K831Hw\/Melp5EHFY9aOQ4ZnwsEuB\/ny0Pj3UbRjgIG4oqOZjNH2m5jeMTQkxMthfJ6GSlGEmnvPdD5GdoebT3\/wjQjc5iu2r2kHG3vyZrt0MqlGvv3i+gdgnlxm2Ly96WHJXRK\/Z5mPhvkZNjc+xKPn4tu9zPL0KfHeo=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj DOT w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>Tutoria\u0142 2: Struktura organizacyjna<\/h3>\n<p><strong>Przyk\u0142adowy kod:<\/strong><\/p>\n<p><img alt=\"Diagram hierarchii organizacyjnej przedstawiaj\u0105cy CEO John Smitha, zesp\u00f3\u0142 kierowniczy, VP ds. Produktu oraz VP ds. In\u017cynierii kieruj\u0105cy zespo\u0142ami backendowymi, frontendowymi, QA i DevOps.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8d92f09cf.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVtFu2jAUfZ+0f7Cyl02iK4UCrSomtbRomoZIV9Q9tFPlxDeJVWMjO9B2U\/99duMkTkg2MBIK1znH99x7bENoLPEqQXMZTxIsU\/Tn\/Tukh8T8kVA5XlycZQEuCKA7leAVjAPx3EEqfWEw9qRYcwKkE1HGgHgdFAmecrzUU1+BbSClIfZ+WRIgsSZpeqODsJTiSdHfMO5+HuWA7PvwEF09Q7hO6QYQgw2wLD65mqM7hgNgY08\/3\/NvIuHoZknTxCSiMwoFE3LsfTg6HQ1Jz2Zng08JTcHbWmly8L1cQa2DrD4hW6sU5APoPPIamWFXL9NbAF56Z+ULWZkIVgkQJ5wndtoNcXTqAsqnycKRt9DybrDECTIileA1hcc9PIgGhZw3\/NTBTzV+RsMEA0MXutK74OcOfq7xV0vKXtAl3lC1A9p30L5GGxxBPyn7b\/Kv9ebzmHIASXnc1hYeN3WlxG23JDNsQ0ugH\/Ui0tySW\/9Bkxa6bn03t5qo4XEwiIaVmjg5NCh4SLV3lKvD0WJ8pdykHHOJNK0oqS5lxgUOH4GTIvH8t2G95x+PegisDvWpJiMICERBRYYZU6l3kktZBCznyd6Ul7CZr1RBaH9ausHedNfnBZV+tDTDvWhem\/3oS0HWYdrixVU22+BHi9vDi1EU9aHb6kVL6PoxX6OqLYqC0TGpaPNnRwUu55lhjmOQ99xnOI2EXG7RhOFJt0bTa6eZiYAy2IWk305yzjF70ZeE+jdPvUk\/QGuggquErlR5Xxx8MefqWTUwrQfm9YA\/r9wT5mjW4ew4sDP2bNBhu7u24vkW2ZrIrL4Vvj6vLurni9oalYC8aHpa97Ul3muJ9+tX4OXbgYKY3idK35jS2FF3R8i3gmavGfuUUvU\/A+co6hT+HQ3Mp+iRMYtTh51R\/f2Wev0L4Dlwzw==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj DOT w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVtFu2jAUfZ+0f7Cyl02iK4UCrSomtbRomoZIV9Q9tFPlxDeJVWMjO9B2U\/99duMkTkg2MBIK1znH99x7bENoLPEqQXMZTxIsU\/Tn\/Tukh8T8kVA5XlycZQEuCKA7leAVjAPx3EEqfWEw9qRYcwKkE1HGgHgdFAmecrzUU1+BbSClIfZ+WRIgsSZpeqODsJTiSdHfMO5+HuWA7PvwEF09Q7hO6QYQgw2wLD65mqM7hgNgY08\/3\/NvIuHoZknTxCSiMwoFE3LsfTg6HQ1Jz2Zng08JTcHbWmly8L1cQa2DrD4hW6sU5APoPPIamWFXL9NbAF56Z+ULWZkIVgkQJ5wndtoNcXTqAsqnycKRt9DybrDECTIileA1hcc9PIgGhZw3\/NTBTzV+RsMEA0MXutK74OcOfq7xV0vKXtAl3lC1A9p30L5GGxxBPyn7b\/Kv9ebzmHIASXnc1hYeN3WlxG23JDNsQ0ugH\/Ui0tySW\/9Bkxa6bn03t5qo4XEwiIaVmjg5NCh4SLV3lKvD0WJ8pdykHHOJNK0oqS5lxgUOH4GTIvH8t2G95x+PegisDvWpJiMICERBRYYZU6l3kktZBCznyd6Ul7CZr1RBaH9ausHedNfnBZV+tDTDvWhem\/3oS0HWYdrixVU22+BHi9vDi1EU9aHb6kVL6PoxX6OqLYqC0TGpaPNnRwUu55lhjmOQ99xnOI2EXG7RhOFJt0bTa6eZiYAy2IWk305yzjF70ZeE+jdPvUk\/QGuggquErlR5Xxx8MefqWTUwrQfm9YA\/r9wT5mjW4ew4sDP2bNBhu7u24vkW2ZrIrL4Vvj6vLurni9oalYC8aHpa97Ul3muJ9+tX4OXbgYKY3idK35jS2FF3R8i3gmavGfuUUvU\/A+co6hT+HQ3Mp+iRMYtTh51R\/f2Wev0L4Dlwzw==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj DOT w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">DOT<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqdVl1P2zAUfUfaf7C6l04qo\/QThDqpFKp9oYSBhgSakBPfNF5dO3LSlhTxgrRfxOveGP9rTvOBmwQouFLVHPuee4\/vsVNCRxJ7LjLkaOBiGaDrdxtIDYn5mFDZO93fiwEuCKAL38Ue9CxxVUN+EDLoVaSYcgKk5lDGgFRqyBE84Hiipj4Dm0FAbVz5lZAAGSmSshU1hKUUc58uoFf\/2E0D4u+tLWSKBRUTtMBy8e8Pmcb44NBAFwxbwHoV9Zt\/FS5HJxMauFEdqiBbMCF7lffbu90OaSTFJeDcpQGoypZMuTSDze8wA7ZE\/akVb5HNpn4A8hKuwEbXy7loJPnPwffu7x5u0XlSYmUvWxJvFcG+C+QRTYvbrdvY2dWWZz8Gp5q+U4OfYIldFKn0Bc9JbDVw22mnepbRQy16aPAjarsYGNpX+7xGtKFFGwY\/nFAWogM8o\/7LsaYWaxo8iiLojLKXyr5ZacYX\/vA35BQkxU90go+KjdCiCi2ITVpsATSdhkPKWvDTvDxUWVI1Z9QGT8ICfK06mtPUaVltp6NvyGMZJRIuA8ATXxOSc5V4uA210jRDiSDQ1axkisY+tsfASVZ95tFkgle3G4imOu7v5h9ySiyLgGPpSqIxlOoUlfKmM7y68wbeA5gZnl9kjXFebb+B87hf5Dvu82rnlVw3Jf40pSDTcVDuTS+atIOiP5Ootb3pOE4T6k9400yylPgzyTPNSXMcq9siujTzaDuL\/6b2Q90OdJyFc5PhwBFyggtEtr1TXyVqPEd0JCzKeLgGTfM5mj7HjAbh+Pl6Vjv1Axi2f0P20tj8FN2teyvPw9yzkXs2De1VEd3MCoxvhxhPbgqFJqcrD6eHI4\/H9s6jx309nZmmSxqerU4NoGZVH8vhRjnczL365AJkOMccEKPqXCDCMJrHR8aT2A43UrM8SlR\/CLSbqJZ5ttuOPmkvIl9o+tcNar4q0c1\/3qqWBA==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-dot\"><code class=\"language-dot\" data-language=\"dot\" class=\"language-dot\">digraph OrgChart {\r\n    rankdir=TB;\r\n    node [shape=box, style=\"rounded,filled\", fontname=\"Helvetica\"];\r\n    edge [fontname=\"Helvetica\", arrowsize=0.7];\r\n    \r\n    \/\/ Poziom zarz\u0105du\r\n    CEO [label=\"CEOnJohn Smith\", fillcolor=\"#1976d2\", fontcolor=\"white\"];\n    \n    \/\/ Poziom C-Level\n    subgraph cluster_exec {\n        label=\"Zesp\u00f3\u0142 Zarz\u0105du\";\n        style=dashed;\n        color=\"#90caf9\";\n        \n        CTO [label=\"CTOnSarah Johnson\", fillcolor=\"#42a5f5\"];\n        CFO [label=\"CFOnMichael Brown\", fillcolor=\"#42a5f5\"];\n        COO [label=\"COOnEmily Davis\", fillcolor=\"#42a5f5\"];\n        CPO [label=\"CPOnDavid Wilson\", fillcolor=\"#42a5f5\"];\n    }\n    \n    \/\/ In\u017cynieria\n    subgraph cluster_eng {\n        label=\"In\u017cynieria\";\n        style=filled;\n        color=\"#e3f2fd\";\n        \n        VP_Eng [label=\"Wiceprezes In\u017cynierii\", fillcolor=\"#64b5f6\"];\n        \n        subgraph cluster_eng_teams {\n            label=\"Zespo\u0142y\";\n            style=dotted;\n            \n            Backend [label=\"Zesp\u00f3\u0142 Backendn(12 in\u017cynier\u00f3w)\", fillcolor=\"#bbdefb\"];\n            Frontend [label=\"Zesp\u00f3\u0142 Frontendn(8 in\u017cynier\u00f3w)\", fillcolor=\"#bbdefb\"];\n            DevOps [label=\"Zesp\u00f3\u0142 DevOpsn(5 in\u017cynier\u00f3w)\", fillcolor=\"#bbdefb\"];\n            QA [label=\"Zesp\u00f3\u0142 QAn(6 in\u017cynier\u00f3w)\", fillcolor=\"#bbdefb\"];\n        }\n    }\n    \n    \/\/ Produkt\n    subgraph cluster_product {\n        label=\"Produkt\";\n        style=filled;\n        color=\"#fff3e0\";\n        \n        VP_Product [label=\"Wiceprezes Produktu\", fillcolor=\"#ffb74d\"];\n        PM1 [label=\"Kierownik ProduktunPlatforma\", fillcolor=\"#ffcc80\"];\n        PM2 [label=\"Kierownik ProduktunMobilny\", fillcolor=\"#ffcc80\"];\n        PM3 [label=\"Kierownik ProduktunAnalityka\", fillcolor=\"#ffcc80\"];\n    }\n    \n    \/\/ Relacje\n    CEO -&gt; CTO;\n    CEO -&gt; CFO;\n    CEO -&gt; COO;\n    CEO -&gt; CPO;\n    \n    CTO -&gt; VP_Eng;\n    VP_Eng -&gt; Backend;\n    VP_Eng -&gt; Frontend;\n    VP_Eng -&gt; DevOps;\n    VP_Eng -&gt; QA;\n    \n    CPO -&gt; VP_Product;\n    VP_Product -&gt; PM1;\n    VP_Product -&gt; PM2;\n    VP_Product -&gt; PM3;\n    \n    \/\/ Przerywane linie dla wsp\u00f3\u0142pracy\n    PM1 -&gt; Backend [style=dotted, color=\"#757575\"];\n    PM2 -&gt; Frontend [style=dotted, color=\"#757575\"];\n    PM3 -&gt; Backend [style=dotted, color=\"#757575\"];\n}\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqdVl1P2zAUfUfaf7C6l04qo\/QThDqpFKp9oYSBhgSakBPfNF5dO3LSlhTxgrRfxOveGP9rTvOBmwQouFLVHPuee4\/vsVNCRxJ7LjLkaOBiGaDrdxtIDYn5mFDZO93fiwEuCKAL38Ue9CxxVUN+EDLoVaSYcgKk5lDGgFRqyBE84Hiipj4Dm0FAbVz5lZAAGSmSshU1hKUUc58uoFf\/2E0D4u+tLWSKBRUTtMBy8e8Pmcb44NBAFwxbwHoV9Zt\/FS5HJxMauFEdqiBbMCF7lffbu90OaSTFJeDcpQGoypZMuTSDze8wA7ZE\/akVb5HNpn4A8hKuwEbXy7loJPnPwffu7x5u0XlSYmUvWxJvFcG+C+QRTYvbrdvY2dWWZz8Gp5q+U4OfYIldFKn0Bc9JbDVw22mnepbRQy16aPAjarsYGNpX+7xGtKFFGwY\/nFAWogM8o\/7LsaYWaxo8iiLojLKXyr5ZacYX\/vA35BQkxU90go+KjdCiCi2ITVpsATSdhkPKWvDTvDxUWVI1Z9QGT8ICfK06mtPUaVltp6NvyGMZJRIuA8ATXxOSc5V4uA210jRDiSDQ1axkisY+tsfASVZ95tFkgle3G4imOu7v5h9ySiyLgGPpSqIxlOoUlfKmM7y68wbeA5gZnl9kjXFebb+B87hf5Dvu82rnlVw3Jf40pSDTcVDuTS+atIOiP5Ootb3pOE4T6k9400yylPgzyTPNSXMcq9siujTzaDuL\/6b2Q90OdJyFc5PhwBFyggtEtr1TXyVqPEd0JCzKeLgGTfM5mj7HjAbh+Pl6Vjv1Axi2f0P20tj8FN2teyvPw9yzkXs2De1VEd3MCoxvhxhPbgqFJqcrD6eHI4\/H9s6jx309nZmmSxqerU4NoGZVH8vhRjnczL365AJkOMccEKPqXCDCMJrHR8aT2A43UrM8SlR\/CLSbqJZ5ttuOPmkvIl9o+tcNar4q0c1\/3qqWBA==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVtFu2jAUfZ+0f7Cyl02iK4UCrSomtbRomoZIV9Q9tFPlxDeJVWMjO9B2U\/99duMkTkg2MBIK1znH99x7bENoLPEqQXMZTxIsU\/Tn\/Tukh8T8kVA5XlycZQEuCKA7leAVjAPx3EEqfWEw9qRYcwKkE1HGgHgdFAmecrzUU1+BbSClIfZ+WRIgsSZpeqODsJTiSdHfMO5+HuWA7PvwEF09Q7hO6QYQgw2wLD65mqM7hgNgY08\/3\/NvIuHoZknTxCSiMwoFE3LsfTg6HQ1Jz2Zng08JTcHbWmly8L1cQa2DrD4hW6sU5APoPPIamWFXL9NbAF56Z+ULWZkIVgkQJ5wndtoNcXTqAsqnycKRt9DybrDECTIileA1hcc9PIgGhZw3\/NTBTzV+RsMEA0MXutK74OcOfq7xV0vKXtAl3lC1A9p30L5GGxxBPyn7b\/Kv9ebzmHIASXnc1hYeN3WlxG23JDNsQ0ugH\/Ui0tySW\/9Bkxa6bn03t5qo4XEwiIaVmjg5NCh4SLV3lKvD0WJ8pdykHHOJNK0oqS5lxgUOH4GTIvH8t2G95x+PegisDvWpJiMICERBRYYZU6l3kktZBCznyd6Ul7CZr1RBaH9ausHedNfnBZV+tDTDvWhem\/3oS0HWYdrixVU22+BHi9vDi1EU9aHb6kVL6PoxX6OqLYqC0TGpaPNnRwUu55lhjmOQ99xnOI2EXG7RhOFJt0bTa6eZiYAy2IWk305yzjF70ZeE+jdPvUk\/QGuggquErlR5Xxx8MefqWTUwrQfm9YA\/r9wT5mjW4ew4sDP2bNBhu7u24vkW2ZrIrL4Vvj6vLurni9oalYC8aHpa97Ul3muJ9+tX4OXbgYKY3idK35jS2FF3R8i3gmavGfuUUvU\/A+co6hT+HQ3Mp+iRMYtTh51R\/f2Wev0L4Dlwzw==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj DOT w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVtFu2jAUfZ+0f7Cyl02iK4UCrSomtbRomoZIV9Q9tFPlxDeJVWMjO9B2U\/99duMkTkg2MBIK1znH99x7bENoLPEqQXMZTxIsU\/Tn\/Tukh8T8kVA5XlycZQEuCKA7leAVjAPx3EEqfWEw9qRYcwKkE1HGgHgdFAmecrzUU1+BbSClIfZ+WRIgsSZpeqODsJTiSdHfMO5+HuWA7PvwEF09Q7hO6QYQgw2wLD65mqM7hgNgY08\/3\/NvIuHoZknTxCSiMwoFE3LsfTg6HQ1Jz2Zng08JTcHbWmly8L1cQa2DrD4hW6sU5APoPPIamWFXL9NbAF56Z+ULWZkIVgkQJ5wndtoNcXTqAsqnycKRt9DybrDECTIileA1hcc9PIgGhZw3\/NTBTzV+RsMEA0MXutK74OcOfq7xV0vKXtAl3lC1A9p30L5GGxxBPyn7b\/Kv9ebzmHIASXnc1hYeN3WlxG23JDNsQ0ugH\/Ui0tySW\/9Bkxa6bn03t5qo4XEwiIaVmjg5NCh4SLV3lKvD0WJ8pdykHHOJNK0oqS5lxgUOH4GTIvH8t2G95x+PegisDvWpJiMICERBRYYZU6l3kktZBCznyd6Ul7CZr1RBaH9ausHedNfnBZV+tDTDvWhem\/3oS0HWYdrixVU22+BHi9vDi1EU9aHb6kVL6PoxX6OqLYqC0TGpaPNnRwUu55lhjmOQ99xnOI2EXG7RhOFJt0bTa6eZiYAy2IWk305yzjF70ZeE+jdPvUk\/QGuggquErlR5Xxx8MefqWTUwrQfm9YA\/r9wT5mjW4ew4sDP2bNBhu7u24vkW2ZrIrL4Vvj6vLurni9oalYC8aHpa97Ul3muJ9+tX4OXbgYKY3idK35jS2FF3R8i3gmavGfuUUvU\/A+co6hT+HQ3Mp+iRMYtTh51R\/f2Wev0L4Dlwzw==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj DOT w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>Tutoria\u0142 3: Diagram przep\u0142ywu danych<\/h3>\n<p><strong>Przyk\u0142adowy kod:<\/strong><\/p>\n<p><img alt=\"Diagram przep\u0142ywu danych ilustruj\u0105cy proces przetwarzania zam\u00f3wie\u0144 \u0142\u0105cz\u0105cy systemy klienta, p\u0142atno\u015bci, magazynu i fakturowania.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8da8555c4.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNp9VE2P0zAQvSPxH6xwZGEp\/RAVCtJuA6uVVlBtgcvCwbUnrVXXDrbb3YL479hx4zhOSw+V4nkzfvPmeShbKVytUYEN\/sTlI\/rz\/BmyP4XFhjKV392\/9wdCUtBQ5YPXb6IT9KDXuIIcOGeVhgukzYFDnpWMc6DZBSqlMAJv7dGVYphnP4\/JQFc2OY16vGa\/IZ82SP9\/eYk+PhlQAnMEwjDDQMc03IVEcqny7EVZErIktpjntpRPTa3ZThu5BYUeOF4Cz7PmIPD6DoLKNu4\/Q\/TaqhJi7oOJFVoctIFt1uM7V5KA1ud5kjHBMA08CVOEQ1NmPggXzTkmgL4oGvGcv23D\/h40x4etlaaFDAPkW0WxAXQr9hYg1aHFjALmBgSoI0oyAi1mHDCLNatSIpM2asVCn6VhJSPYMCn6mjibWY9I9R9V3sGETOPpDWlTp2hFqVloVFyHS4pWktBoJz7sjb0THsXpTgF0D0Qqqs+0UdrnohNfvfoQD67maKv82oGO5jJwsKiVhdMjldWDeiPsGdYDYzt4G6ACDGY8JW+BFt7xcZOQ8qxBp2vPpCiZ2naH7EtHrmvQix1xBk2ZDOsO2+IFEAVYA7J6kE1sY1d2lKh6pGCXTFJ2VJdt4Qu8P+HpGhV5txm5m+xJoskrqNzL70127JDJCgnoO\/edYCMGXxUm9T65FaVMKUwcuLe9OkrUw\/ghXqKm0Cnb6jVQxJkAbTetQpa+Cou0GCR93oDxrgxeavY7rQtFD6\/r+9kayAZd7W0OXjLOzOFc5jDJdFeGNmsh+ol\/\/wGp8e+9\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj DOT w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNp9VE2P0zAQvSPxH6xwZGEp\/RAVCtJuA6uVVlBtgcvCwbUnrVXXDrbb3YL479hx4zhOSw+V4nkzfvPmeShbKVytUYEN\/sTlI\/rz\/BmyP4XFhjKV392\/9wdCUtBQ5YPXb6IT9KDXuIIcOGeVhgukzYFDnpWMc6DZBSqlMAJv7dGVYphnP4\/JQFc2OY16vGa\/IZ82SP9\/eYk+PhlQAnMEwjDDQMc03IVEcqny7EVZErIktpjntpRPTa3ZThu5BYUeOF4Cz7PmIPD6DoLKNu4\/Q\/TaqhJi7oOJFVoctIFt1uM7V5KA1ud5kjHBMA08CVOEQ1NmPggXzTkmgL4oGvGcv23D\/h40x4etlaaFDAPkW0WxAXQr9hYg1aHFjALmBgSoI0oyAi1mHDCLNatSIpM2asVCn6VhJSPYMCn6mjibWY9I9R9V3sGETOPpDWlTp2hFqVloVFyHS4pWktBoJz7sjb0THsXpTgF0D0Qqqs+0UdrnohNfvfoQD67maKv82oGO5jJwsKiVhdMjldWDeiPsGdYDYzt4G6ACDGY8JW+BFt7xcZOQ8qxBp2vPpCiZ2naH7EtHrmvQix1xBk2ZDOsO2+IFEAVYA7J6kE1sY1d2lKh6pGCXTFJ2VJdt4Qu8P+HpGhV5txm5m+xJoskrqNzL70127JDJCgnoO\/edYCMGXxUm9T65FaVMKUwcuLe9OkrUw\/ghXqKm0Cnb6jVQxJkAbTetQpa+Cou0GCR93oDxrgxeavY7rQtFD6\/r+9kayAZd7W0OXjLOzOFc5jDJdFeGNmsh+ol\/\/wGp8e+9\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj DOT w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">DOT<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNp1VU1vEzEQvSPxH6xwpFDatBVVFSRKQEJwWLUSSK16mNiTxInXXnkdLV7EJSriN5T+jN6AW7P\/C++3N93mkIP9ZubNm3lexmcaojkZg4EPQiXk+9MnxP00yCXjevT57KQ8kIphjNFo7+Ur74RcxnOIcIRC8CjGHRIbK3A0mHIhkA12yFRJIyF0R281BzG4qoKRzVzw9m2Jj3mKo+OrkwJY\/O3ukkCxkCtjSYqJ3NwYnUr0aOQFqRJKjwbPplNKJ9QlK7lN1Lcq17tVbFSImlwKmKAYDT4JjtIMqusvKJlqL8cqNpBQqK9PnSTN5bmNDYbFmUrsYJusVhRj+wg\/ekgBjxt+lGsqsMoQ7DUlLrL1\/V32j6QQ3t8ljijHuk6w36ACnaJJ7u90SqJsDUaq7HbzqwEO23SwNCsQPF0t3JRAkhBmkFrp0Q8OGvRXO0OJ2mGneZze3DSgQw\/EYNHL78jDZLeCL0ikEg5MhR1cq1eKdO6YJOBuCQNp6fwx9V7jET32pztkVbpxK94ppNAwy67rguP9LqLRoJnyeNhFLIsVcWkaQCvSGS4wNtpWGvV15WZiE+t31Czhizf+tLO\/m5+s6L7VsyHlcA7ttXcBEY\/TXulLaP\/cy2a20nrLNAaJ7RpR3unI4Ry644KWdE9QgezmD5RxbDVL8ZGYsoa3tUG702TlSkGX0rBoti1wEbrEC6dMvuGeCfKkB54kjWxuLytKSnbX0uHz3Afbmj\/wQ4HzNr4QsUTZHraef1r5EhvbbL3knskcdOtBem\/skqOBGu1tbYn3SHyUU6VDoAskijgHYqH5qsvnKA968Ch2h+Rto3xOst9Vpl4L69y\/SAQvTCxyA0bWQHZdu7PbfqAmro6bVUpTnLm3bm07y19\/TRjEc2Stg7vGOY80JCz7Q5h7rzc3UfUA9gcPt4JrCiznXbvjQeiP\/+TAUdQ=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-dot\"><code class=\"language-dot\" data-language=\"dot\" class=\"language-dot\">digraph DataFlow {\r\n    rankdir=LR;\r\n    nodesep=1.0;\r\n    node [shape=ellipse, style=\"filled\", fontname=\"Arial\"];\r\n    edge [fontname=\"Arial\", fontsize=9];\n    \n    \/\/ Podmioty zewn\u0119trzne\n    node [fillcolor=\"#ffccbc\", shape=box];\n    Customer [label=\"Klient\"];\n    Vendor [label=\"Dostawca\"];\n    Bank [label=\"System Bankowy\"];\n    \n    \/\/ Procesy\n    node [fillcolor=\"#c5cae9\", shape=circle];\n    P1 [label=\"Z\u0142\u00f3\u017c zam\u00f3wienie\"];\n    P2 [label=\"Przetw\u00f3rz p\u0142atno\u015b\u0107\"];\n    P3 [label=\"Zaktualizuj stan magazynowy\"];\n    P4 [label=\"Wygeneruj faktur\u0119\"];\n    P5 [label=\"Wydaj zam\u00f3wienie\"];\n    P6 [label=\"Wy\u015blij powiadomienie\"];\n    \n    \/\/ Przechowywanie danych\n    node [fillcolor=\"#c8e6c9\", shape=box3d];\n    D1 [label=\"Baza zam\u00f3wie\u0144\"];\n    D2 [label=\"Baza magazynowa\"];\n    D3 [label=\"Baza klient\u00f3w\"];\n    D4 [label=\"Rejestry faktur\"];\n    \n    \/\/ Przep\u0142ywy danych\n    Customer -&gt; P1 [label=\"\u017b\u0105danie zam\u00f3wienia\"];\n    P1 -&gt; D1 [label=\"Zapisz zam\u00f3wienie\"];\n    P1 -&gt; D3 [label=\"Zaktualizuj klienta\"];\n    P1 -&gt; P2 [label=\"Dane p\u0142atno\u015bci\"];\n    \n    P2 -&gt; Bank [label=\"\u017b\u0105danie p\u0142atno\u015bci\"];\n    Bank -&gt; P2 [label=\"Potwierdzenie p\u0142atno\u015bci\"];\n    P2 -&gt; P3 [label=\"P\u0142atno\u015b\u0107 udana\"];\n    \n    P3 -&gt; D2 [label=\"Zmniejsz stan\"];\n    P3 -&gt; P4 [label=\"Zam\u00f3wienie potwierdzone\"];\n    \n    P4 -&gt; D4 [label=\"Zapisz faktur\u0119\"];\n    P4 -&gt; P6 [label=\"Dane faktury\"];\n    \n    P3 -&gt; P5 [label=\"\u017b\u0105danie wysy\u0142ki\"];\n    P5 -&gt; Vendor [label=\"Etykieta wysy\u0142kowa\"];\n    P5 -&gt; P6 [label=\"Informacje o \u015bledzeniu\"];\n    \n    P6 -&gt; Customer [label=\"Potwierdzenie zam\u00f3wienian+ \u015aledzenie\"];\n    \n    \/\/ Przerywane linie dla zapyta\u0144\n    D1 -&gt; P5 [label=\"Pobierz szczeg\u00f3\u0142y zam\u00f3wienia\", style=dashed];\n    D2 -&gt; P1 [label=\"Sprawd\u017a dost\u0119pno\u015b\u0107\", style=dashed];\n    D3 -&gt; P1 [label=\"Pobierz dane klienta\", style=dashed];\n}\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNp1VU1vEzEQvSPxH6xwpFDatBVVFSRKQEJwWLUSSK16mNiTxInXXnkdLV7EJSriN5T+jN6AW7P\/C++3N93mkIP9ZubNm3lexmcaojkZg4EPQiXk+9MnxP00yCXjevT57KQ8kIphjNFo7+Ur74RcxnOIcIRC8CjGHRIbK3A0mHIhkA12yFRJIyF0R281BzG4qoKRzVzw9m2Jj3mKo+OrkwJY\/O3ukkCxkCtjSYqJ3NwYnUr0aOQFqRJKjwbPplNKJ9QlK7lN1Lcq17tVbFSImlwKmKAYDT4JjtIMqusvKJlqL8cqNpBQqK9PnSTN5bmNDYbFmUrsYJusVhRj+wg\/ekgBjxt+lGsqsMoQ7DUlLrL1\/V32j6QQ3t8ljijHuk6w36ACnaJJ7u90SqJsDUaq7HbzqwEO23SwNCsQPF0t3JRAkhBmkFrp0Q8OGvRXO0OJ2mGneZze3DSgQw\/EYNHL78jDZLeCL0ikEg5MhR1cq1eKdO6YJOBuCQNp6fwx9V7jET32pztkVbpxK94ppNAwy67rguP9LqLRoJnyeNhFLIsVcWkaQCvSGS4wNtpWGvV15WZiE+t31Czhizf+tLO\/m5+s6L7VsyHlcA7ttXcBEY\/TXulLaP\/cy2a20nrLNAaJ7RpR3unI4Ry644KWdE9QgezmD5RxbDVL8ZGYsoa3tUG702TlSkGX0rBoti1wEbrEC6dMvuGeCfKkB54kjWxuLytKSnbX0uHz3Afbmj\/wQ4HzNr4QsUTZHraef1r5EhvbbL3knskcdOtBem\/skqOBGu1tbYn3SHyUU6VDoAskijgHYqH5qsvnKA968Ch2h+Rto3xOst9Vpl4L69y\/SAQvTCxyA0bWQHZdu7PbfqAmro6bVUpTnLm3bm07y19\/TRjEc2Stg7vGOY80JCz7Q5h7rzc3UfUA9gcPt4JrCiznXbvjQeiP\/+TAUdQ=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNp9VE2P0zAQvSPxH6xwZGEp\/RAVCtJuA6uVVlBtgcvCwbUnrVXXDrbb3YL479hx4zhOSw+V4nkzfvPmeShbKVytUYEN\/sTlI\/rz\/BmyP4XFhjKV392\/9wdCUtBQ5YPXb6IT9KDXuIIcOGeVhgukzYFDnpWMc6DZBSqlMAJv7dGVYphnP4\/JQFc2OY16vGa\/IZ82SP9\/eYk+PhlQAnMEwjDDQMc03IVEcqny7EVZErIktpjntpRPTa3ZThu5BYUeOF4Cz7PmIPD6DoLKNu4\/Q\/TaqhJi7oOJFVoctIFt1uM7V5KA1ud5kjHBMA08CVOEQ1NmPggXzTkmgL4oGvGcv23D\/h40x4etlaaFDAPkW0WxAXQr9hYg1aHFjALmBgSoI0oyAi1mHDCLNatSIpM2asVCn6VhJSPYMCn6mjibWY9I9R9V3sGETOPpDWlTp2hFqVloVFyHS4pWktBoJz7sjb0THsXpTgF0D0Qqqs+0UdrnohNfvfoQD67maKv82oGO5jJwsKiVhdMjldWDeiPsGdYDYzt4G6ACDGY8JW+BFt7xcZOQ8qxBp2vPpCiZ2naH7EtHrmvQix1xBk2ZDOsO2+IFEAVYA7J6kE1sY1d2lKh6pGCXTFJ2VJdt4Qu8P+HpGhV5txm5m+xJoskrqNzL70127JDJCgnoO\/edYCMGXxUm9T65FaVMKUwcuLe9OkrUw\/ghXqKm0Cnb6jVQxJkAbTetQpa+Cou0GCR93oDxrgxeavY7rQtFD6\/r+9kayAZd7W0OXjLOzOFc5jDJdFeGNmsh+ol\/\/wGp8e+9\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj DOT w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNp9VE2P0zAQvSPxH6xwZGEp\/RAVCtJuA6uVVlBtgcvCwbUnrVXXDrbb3YL479hx4zhOSw+V4nkzfvPmeShbKVytUYEN\/sTlI\/rz\/BmyP4XFhjKV392\/9wdCUtBQ5YPXb6IT9KDXuIIcOGeVhgukzYFDnpWMc6DZBSqlMAJv7dGVYphnP4\/JQFc2OY16vGa\/IZ82SP9\/eYk+PhlQAnMEwjDDQMc03IVEcqny7EVZErIktpjntpRPTa3ZThu5BYUeOF4Cz7PmIPD6DoLKNu4\/Q\/TaqhJi7oOJFVoctIFt1uM7V5KA1ud5kjHBMA08CVOEQ1NmPggXzTkmgL4oGvGcv23D\/h40x4etlaaFDAPkW0WxAXQr9hYg1aHFjALmBgSoI0oyAi1mHDCLNatSIpM2asVCn6VhJSPYMCn6mjibWY9I9R9V3sGETOPpDWlTp2hFqVloVFyHS4pWktBoJz7sjb0THsXpTgF0D0Qqqs+0UdrnohNfvfoQD67maKv82oGO5jJwsKiVhdMjldWDeiPsGdYDYzt4G6ACDGY8JW+BFt7xcZOQ8qxBp2vPpCiZ2naH7EtHrmvQix1xBk2ZDOsO2+IFEAVYA7J6kE1sY1d2lKh6pGCXTFJ2VJdt4Qu8P+HpGhV5txm5m+xJoskrqNzL70127JDJCgnoO\/edYCMGXxUm9T65FaVMKUwcuLe9OkrUw\/ghXqKm0Cnb6jVQxJkAbTetQpa+Cou0GCR93oDxrgxeavY7rQtFD6\/r+9kayAZd7W0OXjLOzOFc5jDJdFeGNmsh+ol\/\/wGp8e+9\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj DOT w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<hr\/>\n<h2>6. Wzorce wdro\u017ce\u0144 w \u015brodowisku rzeczywistym {#implementation-patterns}<\/h2>\n<h3>Wzorzec 1: Dokumentacja potoku CI\/CD<\/h3>\n<p><strong>Przyk\u0142adowy kod (Mermaid):<\/strong><\/p>\n<p><img alt=\"Diagram Mermaid ilustruj\u0105cy przep\u0142yw pracy w potoku CI\/CD od kontroli \u017ar\u00f3d\u0142owej przez ci\u0105g\u0142\u0105 integracj\u0119, wdra\u017canie i monitorowanie.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8deb63fe2.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFU9FKKzEQfb\/gP4T6qiBWUfogVCsqKJTW+xR8SJN0DcakJhNh\/\/7OZFbJeoVm2WTmnElmcma3S2r3Kh5XB38Ejlw2XQXWsSRt5YRXcRMDpOgnLxxG486BxPe+bMTK7mJ2EFPf8MuVXBbvkfwoNsPA2GDY+JHv5kFOKIkLJZYsHgJYJMDF0OZ8dAEkTS50DfyM58u\/wUG1csNcF+eNrLOYJ3BbpUf8Wqsg11aX5KCv3r46F6M6F3bnY\/9uA7RlLuynZEZAJK\/NCKqzDUv++Da3p7cS3\/\/uskzRNBvJLZoU2lPyUwzUGzkZDMw20jR2WeIk5l2XbKeaE2k8WUhOZzmsYqHy6yaqZJqYubcJsqwLni7WfQb7\/ntZ+MmI4+Mr\/DzYX66qS01lgKwK0f0ZIqtCtZGMcU8JpK4xRlaFUHJG0OAYUn0IIrOCKDJDpHatCSUdqkKL60J1fkCDEox+yUIEyzDqAfTe1itvnfezw+0JPUcZ\/6U3OzucTqdtXM3AgebMGqO+A08v1cXZ+ZGOPqbZxiv91u7jvF8pLs1Fs9Po6fl45z\/t1RpT\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFU9FKKzEQfb\/gP4T6qiBWUfogVCsqKJTW+xR8SJN0DcakJhNh\/\/7OZFbJeoVm2WTmnElmcma3S2r3Kh5XB38Ejlw2XQXWsSRt5YRXcRMDpOgnLxxG486BxPe+bMTK7mJ2EFPf8MuVXBbvkfwoNsPA2GDY+JHv5kFOKIkLJZYsHgJYJMDF0OZ8dAEkTS50DfyM58u\/wUG1csNcF+eNrLOYJ3BbpUf8Wqsg11aX5KCv3r46F6M6F3bnY\/9uA7RlLuynZEZAJK\/NCKqzDUv++Da3p7cS3\/\/uskzRNBvJLZoU2lPyUwzUGzkZDMw20jR2WeIk5l2XbKeaE2k8WUhOZzmsYqHy6yaqZJqYubcJsqwLni7WfQb7\/ntZ+MmI4+Mr\/DzYX66qS01lgKwK0f0ZIqtCtZGMcU8JpK4xRlaFUHJG0OAYUn0IIrOCKDJDpHatCSUdqkKL60J1fkCDEox+yUIEyzDqAfTe1itvnfezw+0JPUcZ\/6U3OzucTqdtXM3AgebMGqO+A08v1cXZ+ZGOPqbZxiv91u7jvF8pLs1Fs9Po6fl45z\/t1RpT\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFU8tq3DAU3Rf6D2KyTaBkEhJmUZg2oS1NyuApdCGykK07rsYaydWjxrMs\/Yt+RnYlu+D\/ypXktvIsGhvM0bnn6j5dG9Z+JTfFyxcEH+vLOhJr7U0FdPZRK2e0ZGT4bR7v+fBDd2x2l8TheSccLaDV+95pI\/wuEO99mSlWBV15KUkB3zxYN1pA8QQO4r79QGefBLRmD6ZjihGhHKCp2k7C3iBNw0eoOqM\/YwAaPj3ZAlfaukZ3kAneeCE5XRoHG9agqvQcC1KCZZp1xRRdN0xFC5AS9q2Aag\/DT+s69lwBV5MCgHTcsOEh3JQXcAXf6Rdu9PAAIQbXZPhlNCYjbMMIhw6kbsHYRkCt8+Qcq+E\/ng6Lx5InPten12NTEOWTQbeDq1qkfFNtxTNV3molcOB0NoLUqsmEdG3psjZQh9kRqevH+y6z34IzorJhN1rhyA6PfZPZlxKMs3TdWwc7wsLp3wUHaeHOkZOT17hq6bwq4jHsRyICilRoQ6ICilRcicRFGMmwA4kLKFI4scQgSJowilEUYCSxw4lCkHLCjo5ZIUp5YWsOqLEbiR0P0ZDaMJmB6yXEkjdCysXR5lV4jy3+pg0sjubzea6LEZKQnwHn7K\/w9JJdnJ0fV1pqsyglq5rcL8X9E+KSX2SevJqfTz2fAEiXRWs=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">graph LR\r\n    subgraph Source[\"Kontrola \u017ar\u00f3d\u0142owa\"]\r\n        Git[Repozytorium GitHub]\r\n        PR[Pull Request]\r\n    end\r\n    \r\n    subgraph CI[\"Nieprzerwana integracja\"]\r\n        Lint[Linting]\r\n        Test[Testy jednostkowe]\r\n        Build[Artefakty budowania]\r\n        Scan[Skanowanie bezpiecze\u0144stwa]\r\n    end\r\n    \r\n    subgraph CD[\"Nieprzerwane wdra\u017canie\"]\r\n        Dev[Wdro\u017cenie do \u015brodowiska deweloperskiego]\r\n        Stage[Wdro\u017cenie do \u015brodowiska testowego]\r\n        E2E[Testy E2E]\r\n        Prod[Wdro\u017cenie do produkcji]\r\n    end\r\n    \r\n    subgraph Monitor[\"Monitorowanie\"]\r\n        Logs[Agregacja log\u00f3w]\r\n        Metrics[Pulpit metryk]\r\n        Alerts[System alert\u00f3w]\r\n    end\r\n    \r\n    Git --&gt; PR\r\n    PR --&gt; Lint\r\n    Lint --&gt; Test\r\n    Test --&gt; Build\r\n    Build --&gt; Scan\r\n    Scan --&gt; Dev\r\n    Dev --&gt; Stage\r\n    Stage --&gt; E2E\r\n    E2E --&gt; Prod\r\n    Prod --&gt; Logs\r\n    Prod --&gt; Metrics\r\n    Metrics --&gt; Alerts\r\n    \r\n    style Git fill:#f0f0f0,stroke:#333\r\n    style Prod fill:#d4edda,stroke:#28a745,color:black\r\n    style Alerts fill:#f8d7da,stroke:#dc3545,color:black\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFU8tq3DAU3Rf6D2KyTaBkEhJmUZg2oS1NyuApdCGykK07rsYaydWjxrMs\/Yt+RnYlu+D\/ypXktvIsGhvM0bnn6j5dG9Z+JTfFyxcEH+vLOhJr7U0FdPZRK2e0ZGT4bR7v+fBDd2x2l8TheSccLaDV+95pI\/wuEO99mSlWBV15KUkB3zxYN1pA8QQO4r79QGefBLRmD6ZjihGhHKCp2k7C3iBNw0eoOqM\/YwAaPj3ZAlfaukZ3kAneeCE5XRoHG9agqvQcC1KCZZp1xRRdN0xFC5AS9q2Aag\/DT+s69lwBV5MCgHTcsOEh3JQXcAXf6Rdu9PAAIQbXZPhlNCYjbMMIhw6kbsHYRkCt8+Qcq+E\/ng6Lx5InPten12NTEOWTQbeDq1qkfFNtxTNV3molcOB0NoLUqsmEdG3psjZQh9kRqevH+y6z34IzorJhN1rhyA6PfZPZlxKMs3TdWwc7wsLp3wUHaeHOkZOT17hq6bwq4jHsRyICilRoQ6ICilRcicRFGMmwA4kLKFI4scQgSJowilEUYCSxw4lCkHLCjo5ZIUp5YWsOqLEbiR0P0ZDaMJmB6yXEkjdCysXR5lV4jy3+pg0sjubzea6LEZKQnwHn7K\/w9JJdnJ0fV1pqsyglq5rcL8X9E+KSX2SevJqfTz2fAEiXRWs=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFU9FKKzEQfb\/gP4T6qiBWUfogVCsqKJTW+xR8SJN0DcakJhNh\/\/7OZFbJeoVm2WTmnElmcma3S2r3Kh5XB38Ejlw2XQXWsSRt5YRXcRMDpOgnLxxG486BxPe+bMTK7mJ2EFPf8MuVXBbvkfwoNsPA2GDY+JHv5kFOKIkLJZYsHgJYJMDF0OZ8dAEkTS50DfyM58u\/wUG1csNcF+eNrLOYJ3BbpUf8Wqsg11aX5KCv3r46F6M6F3bnY\/9uA7RlLuynZEZAJK\/NCKqzDUv++Da3p7cS3\/\/uskzRNBvJLZoU2lPyUwzUGzkZDMw20jR2WeIk5l2XbKeaE2k8WUhOZzmsYqHy6yaqZJqYubcJsqwLni7WfQb7\/ntZ+MmI4+Mr\/DzYX66qS01lgKwK0f0ZIqtCtZGMcU8JpK4xRlaFUHJG0OAYUn0IIrOCKDJDpHatCSUdqkKL60J1fkCDEox+yUIEyzDqAfTe1itvnfezw+0JPUcZ\/6U3OzucTqdtXM3AgebMGqO+A08v1cXZ+ZGOPqbZxiv91u7jvF8pLs1Fs9Po6fl45z\/t1RpT\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFU9FKKzEQfb\/gP4T6qiBWUfogVCsqKJTW+xR8SJN0DcakJhNh\/\/7OZFbJeoVm2WTmnElmcma3S2r3Kh5XB38Ejlw2XQXWsSRt5YRXcRMDpOgnLxxG486BxPe+bMTK7mJ2EFPf8MuVXBbvkfwoNsPA2GDY+JHv5kFOKIkLJZYsHgJYJMDF0OZ8dAEkTS50DfyM58u\/wUG1csNcF+eNrLOYJ3BbpUf8Wqsg11aX5KCv3r46F6M6F3bnY\/9uA7RlLuynZEZAJK\/NCKqzDUv++Da3p7cS3\/\/uskzRNBvJLZoU2lPyUwzUGzkZDMw20jR2WeIk5l2XbKeaE2k8WUhOZzmsYqHy6yaqZJqYubcJsqwLni7WfQb7\/ntZ+MmI4+Mr\/DzYX66qS01lgKwK0f0ZIqtCtZGMcU8JpK4xRlaFUHJG0OAYUn0IIrOCKDJDpHatCSUdqkKL60J1fkCDEox+yUIEyzDqAfTe1itvnfezw+0JPUcZ\/6U3OzucTqdtXM3AgebMGqO+A08v1cXZ+ZGOPqbZxiv91u7jvF8pLs1Fs9Po6fl45z\/t1RpT\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>Wzorzec 2: Projektowanie schematu bazy danych<\/h3>\n<p><strong>Przyk\u0142adowy kod (PlantUML):<\/strong><\/p>\n<p><img alt=\"Diagram relacji encji PlantUML ilustruj\u0105cy schemat bazy danych e-commerce z tabelami: Users, Orders, OrderItems, Products i Payments.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8e0682d4f.png\"\/><br \/>\n<em>Rysunek 5: Diagram relacji encji przedstawiaj\u0105cy schemat bazy danych e-commerce<\/em><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bLLTQzim57qt-3zex2M66j92NaefzRgOXJPTQDEnDwDAIYngIvuaqsP9__kkBDkn4sTGlmIT-w5pxprNkT46ArFccUzzeMp51KFBwDlzT2HmpWB4XE5cW-m1NLsXqVBiQnn7y0Ne-deVihWRlGVe7LmMTrqyRl6umdtF9N_MJEa0RNqFmGVH9G09fm6wHBE7fOF3qFso7FCC3B-YnziVqUFeOZ89dAN0Mhz9HPCKwtJGWoY63QC9Dc1UpkRJfsKqNpXRXhL9ChdcujW6NJ6b1dpwy3ptlOyzzOMIj2IcnxvmsAa2z6lP8JSPrzogfWwHfamJnGl3PSLi-hlELoXERCJtwUri7jsFpiTd5q73LvBNv4-9tRmw90ZKlvPg0-GQk5FDhRDorgkd4pDOq07py_6u7OW2nGnVzLFHWw5BYvow8nuMXOkXGF1uQ4OQd2KubwKmfzhK6si5fRmek5Wdc5B5j6uxVaXzPbZUeyy1-0_xmUhYas8Pcbqfk4bEJBqhIRp9eUrzIJhii_oQi9oPLD9Ueup2GcDYLUa6V2pSJxOUEa6WumFhMHLNFH9ejmj3kKLEFU1LP1Y2VAy6FcGOxhR8-LwY5vP9iTQ9aQs7JR2h4rGp13SYXS5SD6aSNANQeMR1mKsn5GD1L_UrSEsstnoRhpxyXLguw5qDt9lvMFQOq-HbOyiJ4ZIi-3erIAvS0ROjJqQ2314fOQLpfX0cn3Qric514IvDQbzbkDA-3x09sFSO66o-Dc_6LbLQHyJ6pg7UxWoXE08IiAOtRj9s3-3rWTPakf_q1Wxm9_4F\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bLLTQzim57qt-3zex2M66j92NaefzRgOXJPTQDEnDwDAIYngIvuaqsP9__kkBDkn4sTGlmIT-w5pxprNkT46ArFccUzzeMp51KFBwDlzT2HmpWB4XE5cW-m1NLsXqVBiQnn7y0Ne-deVihWRlGVe7LmMTrqyRl6umdtF9N_MJEa0RNqFmGVH9G09fm6wHBE7fOF3qFso7FCC3B-YnziVqUFeOZ89dAN0Mhz9HPCKwtJGWoY63QC9Dc1UpkRJfsKqNpXRXhL9ChdcujW6NJ6b1dpwy3ptlOyzzOMIj2IcnxvmsAa2z6lP8JSPrzogfWwHfamJnGl3PSLi-hlELoXERCJtwUri7jsFpiTd5q73LvBNv4-9tRmw90ZKlvPg0-GQk5FDhRDorgkd4pDOq07py_6u7OW2nGnVzLFHWw5BYvow8nuMXOkXGF1uQ4OQd2KubwKmfzhK6si5fRmek5Wdc5B5j6uxVaXzPbZUeyy1-0_xmUhYas8Pcbqfk4bEJBqhIRp9eUrzIJhii_oQi9oPLD9Ueup2GcDYLUa6V2pSJxOUEa6WumFhMHLNFH9ejmj3kKLEFU1LP1Y2VAy6FcGOxhR8-LwY5vP9iTQ9aQs7JR2h4rGp13SYXS5SD6aSNANQeMR1mKsn5GD1L_UrSEsstnoRhpxyXLguw5qDt9lvMFQOq-HbOyiJ4ZIi-3erIAvS0ROjJqQ2314fOQLpfX0cn3Qric514IvDQbzbkDA-3x09sFSO66o-Dc_6LbLQHyJ6pg7UxWoXE08IiAOtRj9s3-3rWTPakf_q1Wxm9_4F\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bLNHRjem57r7oZzusWkHYaGhyL9LLJC66shfK4UdlKLkRC0aiJFR4GtGbqhzedt2rl_QTPpG1CAavWNbt7kFpxttE5mfZQLEuyXfVI1qnZX5K-_JpQ3DSKnTHBbcEaFc1LrSeFRqvEDmwC7ZeilBjvB9TVlHHO-GChckuiCTFinnfsN9xnMLoaKRfuNWWUeK09yH5vsZqUtKmfsE_QKnPX44VdXt_Q_UNVkirtDj9C5AhOGa_WAhHMD682dMbFXOGtWw6W--JxtnnCOYhBGVYJdZXp6OYauLu8FR-x7JUdgJFf62f86kgKyiTgm15QOLSRrkeIqVQfDeGbKWMQAPo9KDVXPyYMI1gVWyw8_6tatxj7jovfPwHH3wlr9izrKH4K3_So4p45V2bMxwDifehPzAJMD3UyfFkztTGYGuflceRvBiBLqOvDWPmsPJs1e20W-NfeN6aOzZaN9zR4orjURGWYK9utCV4oAfKhk9xqiVQHhNv3C0_gE-iRlXKRCqxIxbJFj7jbwr9CvY67lTaXPxhxwoBAPw8KXjK5fYhd1WN6aNV6ZSTuuU9X70n1kkPzvS_f50sssd8pR8kWUoaWX3aTCgW2VHwMmtoEQUemSQ2JvNlXQx34EmBGZo7K9Q8BZ6Z9Sq5iwfjgYyu90cwOo2eVFpTd2HzdPp35_niePU6AyT3ThB_HZrc17_8JFjSG4Ubco-q4ZCR0DcB1Evfi52hD8bHQ6HYSA8GVMVtoiJ5XAl4S7mRKrNZCfrfcd46Lx-VGceqwAS8CExuu_eBAUtWWp1bzTdeE8PD1U21OgrXi6IcMZEdSKChJALlJw7hCvv1I_mN_4F\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n!define TABLE(name) entity name &lt;&lt; (T,#FFAAAA) &gt;&gt;\r\n!define PK(x) x &lt;&lt;PK&gt;&gt;\r\n!define FK(x) x &lt;&lt;FK&gt;&gt;\r\n\r\nTABLE(Users) {\r\n    PK(user_id) : INT\r\n    --\r\n    email : VARCHAR(255)\r\n    password_hash : VARCHAR(255)\r\n    created_at : TIMESTAMP\r\n    last_login : TIMESTAMP\r\n    status : ENUM\r\n}\r\n\r\nTABLE(Products) {\r\n    PK(product_id) : INT\r\n    --\r\n    sku : VARCHAR(50)\r\n    name : VARCHAR(255)\r\n    description : TEXT\r\n    price : DECIMAL(10,2)\r\n    stock_quantity : INT\r\n    category_id : INT\r\n}\r\n\r\nTABLE(Categories) {\r\n    PK(category_id) : INT\r\n    --\r\n    name : VARCHAR(100)\r\n    parent_id : INT\r\n}\r\n\r\nTABLE(Orders) {\r\n    PK(order_id) : INT\r\n    --\r\n    FK(user_id) : INT\r\n    order_date : TIMESTAMP\r\n    total_amount : DECIMAL(10,2)\r\n    status : ENUM\r\n    shipping_address : TEXT\r\n}\r\n\r\nTABLE(OrderItems) {\r\n    PK(item_id) : INT\r\n    --\r\n    FK(order_id) : INT\r\n    FK(product_id) : INT\r\n    quantity : INT\r\n    unit_price : DECIMAL(10,2)\r\n}\r\n\r\nTABLE(Payments) {\r\n    PK(payment_id) : INT\r\n    --\r\n    FK(order_id) : INT\r\n    payment_method : ENUM\r\n    transaction_id : VARCHAR(255)\r\n    amount : DECIMAL(10,2)\r\n    status : ENUM\r\n    processed_at : TIMESTAMP\r\n}\r\n\r\nUsers ||--o{ Orders : places\r\nOrders }o--|{ Users : belongs_to\r\nOrders ||--|{ OrderItems : contains\r\nOrderItems }o--|| Products : references\r\nProducts }o--|| Categories : categorized_in\r\nOrders ||--o{ Payments : paid_by\r\n\r\nnote right of Users\r\n  Przechowuje konta klient\u00f3w\r\n  oraz dane uwierzytelniaj\u0105ce\r\nend note\r\n\r\nnote left of Orders\r\n  G\u0142\u00f3wny rekord transakcji\r\n  z danymi wysy\u0142ki\r\nend note\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bLNHRjem57r7oZzusWkHYaGhyL9LLJC66shfK4UdlKLkRC0aiJFR4GtGbqhzedt2rl_QTPpG1CAavWNbt7kFpxttE5mfZQLEuyXfVI1qnZX5K-_JpQ3DSKnTHBbcEaFc1LrSeFRqvEDmwC7ZeilBjvB9TVlHHO-GChckuiCTFinnfsN9xnMLoaKRfuNWWUeK09yH5vsZqUtKmfsE_QKnPX44VdXt_Q_UNVkirtDj9C5AhOGa_WAhHMD682dMbFXOGtWw6W--JxtnnCOYhBGVYJdZXp6OYauLu8FR-x7JUdgJFf62f86kgKyiTgm15QOLSRrkeIqVQfDeGbKWMQAPo9KDVXPyYMI1gVWyw8_6tatxj7jovfPwHH3wlr9izrKH4K3_So4p45V2bMxwDifehPzAJMD3UyfFkztTGYGuflceRvBiBLqOvDWPmsPJs1e20W-NfeN6aOzZaN9zR4orjURGWYK9utCV4oAfKhk9xqiVQHhNv3C0_gE-iRlXKRCqxIxbJFj7jbwr9CvY67lTaXPxhxwoBAPw8KXjK5fYhd1WN6aNV6ZSTuuU9X70n1kkPzvS_f50sssd8pR8kWUoaWX3aTCgW2VHwMmtoEQUemSQ2JvNlXQx34EmBGZo7K9Q8BZ6Z9Sq5iwfjgYyu90cwOo2eVFpTd2HzdPp35_niePU6AyT3ThB_HZrc17_8JFjSG4Ubco-q4ZCR0DcB1Evfi52hD8bHQ6HYSA8GVMVtoiJ5XAl4S7mRKrNZCfrfcd46Lx-VGceqwAS8CExuu_eBAUtWWp1bzTdeE8PD1U21OgrXi6IcMZEdSKChJALlJw7hCvv1I_mN_4F\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bLLTQzim57qt-3zex2M66j92NaefzRgOXJPTQDEnDwDAIYngIvuaqsP9__kkBDkn4sTGlmIT-w5pxprNkT46ArFccUzzeMp51KFBwDlzT2HmpWB4XE5cW-m1NLsXqVBiQnn7y0Ne-deVihWRlGVe7LmMTrqyRl6umdtF9N_MJEa0RNqFmGVH9G09fm6wHBE7fOF3qFso7FCC3B-YnziVqUFeOZ89dAN0Mhz9HPCKwtJGWoY63QC9Dc1UpkRJfsKqNpXRXhL9ChdcujW6NJ6b1dpwy3ptlOyzzOMIj2IcnxvmsAa2z6lP8JSPrzogfWwHfamJnGl3PSLi-hlELoXERCJtwUri7jsFpiTd5q73LvBNv4-9tRmw90ZKlvPg0-GQk5FDhRDorgkd4pDOq07py_6u7OW2nGnVzLFHWw5BYvow8nuMXOkXGF1uQ4OQd2KubwKmfzhK6si5fRmek5Wdc5B5j6uxVaXzPbZUeyy1-0_xmUhYas8Pcbqfk4bEJBqhIRp9eUrzIJhii_oQi9oPLD9Ueup2GcDYLUa6V2pSJxOUEa6WumFhMHLNFH9ejmj3kKLEFU1LP1Y2VAy6FcGOxhR8-LwY5vP9iTQ9aQs7JR2h4rGp13SYXS5SD6aSNANQeMR1mKsn5GD1L_UrSEsstnoRhpxyXLguw5qDt9lvMFQOq-HbOyiJ4ZIi-3erIAvS0ROjJqQ2314fOQLpfX0cn3Qric514IvDQbzbkDA-3x09sFSO66o-Dc_6LbLQHyJ6pg7UxWoXE08IiAOtRj9s3-3rWTPakf_q1Wxm9_4F\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bLLTQzim57qt-3zex2M66j92NaefzRgOXJPTQDEnDwDAIYngIvuaqsP9__kkBDkn4sTGlmIT-w5pxprNkT46ArFccUzzeMp51KFBwDlzT2HmpWB4XE5cW-m1NLsXqVBiQnn7y0Ne-deVihWRlGVe7LmMTrqyRl6umdtF9N_MJEa0RNqFmGVH9G09fm6wHBE7fOF3qFso7FCC3B-YnziVqUFeOZ89dAN0Mhz9HPCKwtJGWoY63QC9Dc1UpkRJfsKqNpXRXhL9ChdcujW6NJ6b1dpwy3ptlOyzzOMIj2IcnxvmsAa2z6lP8JSPrzogfWwHfamJnGl3PSLi-hlELoXERCJtwUri7jsFpiTd5q73LvBNv4-9tRmw90ZKlvPg0-GQk5FDhRDorgkd4pDOq07py_6u7OW2nGnVzLFHWw5BYvow8nuMXOkXGF1uQ4OQd2KubwKmfzhK6si5fRmek5Wdc5B5j6uxVaXzPbZUeyy1-0_xmUhYas8Pcbqfk4bEJBqhIRp9eUrzIJhii_oQi9oPLD9Ueup2GcDYLUa6V2pSJxOUEa6WumFhMHLNFH9ejmj3kKLEFU1LP1Y2VAy6FcGOxhR8-LwY5vP9iTQ9aQs7JR2h4rGp13SYXS5SD6aSNANQeMR1mKsn5GD1L_UrSEsstnoRhpxyXLguw5qDt9lvMFQOq-HbOyiJ4ZIi-3erIAvS0ROjJqQ2314fOQLpfX0cn3Qric514IvDQbzbkDA-3x09sFSO66o-Dc_6LbLQHyJ6pg7UxWoXE08IiAOtRj9s3-3rWTPakf_q1Wxm9_4F\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>Wzorzec 3: Wizualizacja infrastruktury jako kod<\/h3>\n<p><strong>Przyk\u0142adowy kod (Mermaid):<\/strong><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqVVV1vmzAUfZ+0\/2Cl0p6WtYnXNommSoSmWaQ06kI2pll9cMAhVhBGxizLv981UD4M6Tqjay6He8y5\/rgEksZ7tJm+f4egJek2yADLdUgPOmSHIvXRItpJmiiZeiqVrPecR+vmc8k8xUVUjqFb5ZUjrpg6CnngUUB6lV8fSrcfTzYBQ4OrT9l1ObgxIhZzlywixWTEFJpTxY70ZISsrA0BO\/O2+VTqe0q3IfdIL78jJ93CBxJTn27WckqsOIYomiW+FNRHUxrSyGOyI34KMwdxpLijryJRRhiL\/LeJlPw3JAUqc+c1mdVaxvGGMwnrWROtkS6WbjPbGRDo0IYmBzQ4HzWsoobno3AVhTuiWrm382+kc08VzfPR3quJrO8dAoaeYMYDyZxvyy9beXn3mIaK961f51jM5wmZhXq5bOrtWY68RXoDaDx0nAhHCUkDWMzCMbOAiXMwmqbeAVY4E24lCbjoA2wp75DGpqTZg0PAkLOnkvkv4z\/\/hyLmpZKrE0gqPFOTaz0QMLROQ2Z+3pmTFxqaS9HWt7AeCRhaiyb5X7IeRcQhl6x0VD5Mw1IEQUcRsV2SlS2XKm9vvPu5pieiC9vP\/rpVGpyVQ8DQSii+K05Kp9DSyfvvCWzHWeRnTvKM+v27vHA+SBEpUrnIvl8V49VAHQ6TmuN6djUAVSYHwMkAfSpbyLCF4LowzclewCkokWELwU3E5Ordb7IbGDYxY4QXUSW9BuAGYBBhNxvMOoKbiMG1XYNaA3ADyHtdKOpolk5HnO3mileNzybqFDL9+0I7HoaTi91YXx\/hnykObHKBMS78\/pH7aj8Zxn\/qRL2ABXE3Hl9dlUTPu6Xw6IlQyMlxzxWr07TmnDZkt3g7KmkD+tkfnaXpbVrwxtf0mt6UvNvdyBv5fwEtfO9m\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqVVV1vmzAUfZ+0\/2Cl0p6WtYnXNommSoSmWaQ06kI2pll9cMAhVhBGxizLv981UD4M6Tqjay6He8y5\/rgEksZ7tJm+f4egJek2yADLdUgPOmSHIvXRItpJmiiZeiqVrPecR+vmc8k8xUVUjqFb5ZUjrpg6CnngUUB6lV8fSrcfTzYBQ4OrT9l1ObgxIhZzlywixWTEFJpTxY70ZISsrA0BO\/O2+VTqe0q3IfdIL78jJ93CBxJTn27WckqsOIYomiW+FNRHUxrSyGOyI34KMwdxpLijryJRRhiL\/LeJlPw3JAUqc+c1mdVaxvGGMwnrWROtkS6WbjPbGRDo0IYmBzQ4HzWsoobno3AVhTuiWrm382+kc08VzfPR3quJrO8dAoaeYMYDyZxvyy9beXn3mIaK961f51jM5wmZhXq5bOrtWY68RXoDaDx0nAhHCUkDWMzCMbOAiXMwmqbeAVY4E24lCbjoA2wp75DGpqTZg0PAkLOnkvkv4z\/\/hyLmpZKrE0gqPFOTaz0QMLROQ2Z+3pmTFxqaS9HWt7AeCRhaiyb5X7IeRcQhl6x0VD5Mw1IEQUcRsV2SlS2XKm9vvPu5pieiC9vP\/rpVGpyVQ8DQSii+K05Kp9DSyfvvCWzHWeRnTvKM+v27vHA+SBEpUrnIvl8V49VAHQ6TmuN6djUAVSYHwMkAfSpbyLCF4LowzclewCkokWELwU3E5Ordb7IbGDYxY4QXUSW9BuAGYBBhNxvMOoKbiMG1XYNaA3ADyHtdKOpolk5HnO3mileNzybqFDL9+0I7HoaTi91YXx\/hnykObHKBMS78\/pH7aj8Zxn\/qRL2ABXE3Hl9dlUTPu6Xw6IlQyMlxzxWr07TmnDZkt3g7KmkD+tkfnaXpbVrwxtf0mt6UvNvdyBv5fwEtfO9m\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNVV1v2jAUfa+0\/2DR17EWsraApkqQfqxaixjplqoWDzeOIR5pHDnOsvA4TdoP2uvetv6v2SENcShaHQXuPb7HPvf6IwsBcYBuR6\/2kGpJ6i0KYOg6uHUVzQUkUqRLmQpAJHhIRa67WrN1uG4+E5RIxiM1SAVWRjXgmMqMiyWLFrjlMPr3Z2tWBen2eWJj9aLO4ZviOegcmwFXly4eCXgAxCJJRUQlz8AMGQ9vyxBlmV2GU4mapF7ICG5NuJ8wShiKC2AV0YY63YbXI3zNwUcjCCEiVCCIQ7YE8oVtB49U3VRN8HueSOStHZ7lZiCN\/JeIFOwrSFpXKfIM5LMiNwsYx7eMCtxyQSQyg43YZ1i6ndtOB9+DDxGj2kGdnXFdI667M84y4qztuGYBtopgpHQGEsyc1OA5CXYkND1zsHrRRC3BQlDn4\/U7TxycuoyGvM29ZAViawdVXOqzBJ+HeuFsIAFdI\/\/PoO7X7e0D4UguYKGXVawoCdTmyHSpGsmoGo7SJaMyV2ah\/x4S7uWIoSWPVWVXECsgoybt\/MLBbhL\/+RVGVG2X+gS6b\/ZSjZSkgskct0Z0pWYjK\/r4Q1WeN1S6wws8pYv08Xuu7UYKl\/hSpHGupHqbURqHe3iDpzyk2nipuBseMVXD4kYpbb7OkKGQL\/hz5bRdbIc89V2QJDC77qaQY3W3obu2shopjB084RkDnz8wGjHQyLbOp\/\/i51OiduoHHhHFQ+nj71wueRYxks9Qu32KChkXgkcSb0xkn43Xw9YwHa2KulcWuvDVXbRX3kmFrw9vE+g2AWsjTscXsDogT0C3CVgG0ODp49Bg1iGrAZnsUkpF3fhW3TdJat+arBpgGYDJs12TtvGtur9X3hl1rNC\/FWS7a5Hj2myJzNXu1R+wOQvDwf68r5\/X6uPJl3Swb1lWabcz5stg0I2\/1Xh6kUrevN8\/PKx4hJyAcgkPuRhkAZO0xtJi16wuPbG8XsXqwFu\/t4ul92VJ6x\/BERxXtJN5j\/T8fwTjEB4=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">graph TB\r\n    subgraph AWS[\"Infrastruktura chmury AWS\"]\r\n        direction TB\n        \n        subgraph Networking[\"Sie\u0107\"]\n            VPC[VPC 10.0.0.0\/16]\n            IGW[Brama internetowa]\n            NAT[Brama NAT]\n            \n            subgraph Public[\"Podsieci publiczne\"]\n                ALB[Load Balancer aplikacji]\n                Bastion[Host bastionowy]\n            end\n            \n            subgraph Private[\"Podsieci prywatne\"]\n                subgraph AppTier[\"Warstwa aplikacji\"]\n                    ECS1[Zadanie ECS 1]\n                    ECS2[Zadanie ECS 2]\n                    ECS3[Zadanie ECS 3]\n                end\n                \n                subgraph DataTier[\"Warstwa danych\"]\n                    RDS[RDS PostgreSQL&lt;br\/&gt;Wielo-obszarowa]\n                    Redis[ElastiCache Redis]\n                end\n            end\n        end\n        \n        subgraph Storage[\"Przechowywanie\"]\n            S3[Bukiety S3&lt;br\/&gt;Zasoby i kopie zapasowe]\n            EFS[Wsp\u00f3lne przechowywanie EFS]\n        end\n        \n        subgraph Security[\"Bezpiecze\u0144stwo\"]\n            WAF[Regu\u0142y WAF]\n            SG[Grupy zabezpiecze\u0144]\n            IAM[Role IAM]\n        end\n        \n        subgraph Monitoring[\"Monitorowanie i logowanie\"]\n            CW[CloudWatch]\n            XRay[AWS X-Ray]\n            SNS[Powiadomienia SNS]\n        end\n    end\n    \n    User[Koncowi u\u017cytkownicy] --&gt; CloudFront[CloudFront CDN]\n    CloudFront --&gt; WAF\n    WAF --&gt; ALB\n    ALB --&gt; ECS1\n    ALB --&gt; ECS2\n    ALB --&gt; ECS3\n    \n    ECS1 --&gt; RDS\n    ECS2 --&gt; RDS\n    ECS3 --&gt; RDS\n    \n    ECS1 --&gt; Redis\n    ECS2 --&gt; Redis\n    ECS3 --&gt; Redis\n    \n    ECS1 --&gt; S3\n    ECS2 --&gt; S3\n    ECS3 --&gt; S3\n    \n    ECS1 --&gt; EFS\n    ECS2 --&gt; EFS\n    ECS3 --&gt; EFS\n    \n    ECS1 --&gt; CW\n    ECS2 --&gt; CW\n    ECS3 --&gt; CW\n    \n    RDS --&gt; CW\n    Redis --&gt; CW\n    \n    CW --&gt; SNS\n    \n    style VPC fill:#f9f9f9,stroke:#333,stroke-width:2px\n    style ALB fill:#ff9900,stroke:#cc7a00,color:white\n    style RDS fill:#2e73b8,stroke:#1a4d80,color:white\n    style User fill:#95a5a6,stroke:#7f8c8d\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNVV1v2jAUfa+0\/2DR17EWsraApkqQfqxaixjplqoWDzeOIR5pHDnOsvA4TdoP2uvetv6v2SENcShaHQXuPb7HPvf6IwsBcYBuR6\/2kGpJ6i0KYOg6uHUVzQUkUqRLmQpAJHhIRa67WrN1uG4+E5RIxiM1SAVWRjXgmMqMiyWLFrjlMPr3Z2tWBen2eWJj9aLO4ZviOegcmwFXly4eCXgAxCJJRUQlz8AMGQ9vyxBlmV2GU4mapF7ICG5NuJ8wShiKC2AV0YY63YbXI3zNwUcjCCEiVCCIQ7YE8oVtB49U3VRN8HueSOStHZ7lZiCN\/JeIFOwrSFpXKfIM5LMiNwsYx7eMCtxyQSQyg43YZ1i6ndtOB9+DDxGj2kGdnXFdI667M84y4qztuGYBtopgpHQGEsyc1OA5CXYkND1zsHrRRC3BQlDn4\/U7TxycuoyGvM29ZAViawdVXOqzBJ+HeuFsIAFdI\/\/PoO7X7e0D4UguYKGXVawoCdTmyHSpGsmoGo7SJaMyV2ah\/x4S7uWIoSWPVWVXECsgoybt\/MLBbhL\/+RVGVG2X+gS6b\/ZSjZSkgskct0Z0pWYjK\/r4Q1WeN1S6wws8pYv08Xuu7UYKl\/hSpHGupHqbURqHe3iDpzyk2nipuBseMVXD4kYpbb7OkKGQL\/hz5bRdbIc89V2QJDC77qaQY3W3obu2shopjB084RkDnz8wGjHQyLbOp\/\/i51OiduoHHhHFQ+nj71wueRYxks9Qu32KChkXgkcSb0xkn43Xw9YwHa2KulcWuvDVXbRX3kmFrw9vE+g2AWsjTscXsDogT0C3CVgG0ODp49Bg1iGrAZnsUkpF3fhW3TdJat+arBpgGYDJs12TtvGtur9X3hl1rNC\/FWS7a5Hj2myJzNXu1R+wOQvDwf68r5\/X6uPJl3Swb1lWabcz5stg0I2\/1Xh6kUrevN8\/PKx4hJyAcgkPuRhkAZO0xtJi16wuPbG8XsXqwFu\/t4ul92VJ6x\/BERxXtJN5j\/T8fwTjEB4=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqVVV1vmzAUfZ+0\/2Cl0p6WtYnXNommSoSmWaQ06kI2pll9cMAhVhBGxizLv981UD4M6Tqjay6He8y5\/rgEksZ7tJm+f4egJek2yADLdUgPOmSHIvXRItpJmiiZeiqVrPecR+vmc8k8xUVUjqFb5ZUjrpg6CnngUUB6lV8fSrcfTzYBQ4OrT9l1ObgxIhZzlywixWTEFJpTxY70ZISsrA0BO\/O2+VTqe0q3IfdIL78jJ93CBxJTn27WckqsOIYomiW+FNRHUxrSyGOyI34KMwdxpLijryJRRhiL\/LeJlPw3JAUqc+c1mdVaxvGGMwnrWROtkS6WbjPbGRDo0IYmBzQ4HzWsoobno3AVhTuiWrm382+kc08VzfPR3quJrO8dAoaeYMYDyZxvyy9beXn3mIaK961f51jM5wmZhXq5bOrtWY68RXoDaDx0nAhHCUkDWMzCMbOAiXMwmqbeAVY4E24lCbjoA2wp75DGpqTZg0PAkLOnkvkv4z\/\/hyLmpZKrE0gqPFOTaz0QMLROQ2Z+3pmTFxqaS9HWt7AeCRhaiyb5X7IeRcQhl6x0VD5Mw1IEQUcRsV2SlS2XKm9vvPu5pieiC9vP\/rpVGpyVQ8DQSii+K05Kp9DSyfvvCWzHWeRnTvKM+v27vHA+SBEpUrnIvl8V49VAHQ6TmuN6djUAVSYHwMkAfSpbyLCF4LowzclewCkokWELwU3E5Ordb7IbGDYxY4QXUSW9BuAGYBBhNxvMOoKbiMG1XYNaA3ADyHtdKOpolk5HnO3mileNzybqFDL9+0I7HoaTi91YXx\/hnykObHKBMS78\/pH7aj8Zxn\/qRL2ABXE3Hl9dlUTPu6Xw6IlQyMlxzxWr07TmnDZkt3g7KmkD+tkfnaXpbVrwxtf0mt6UvNvdyBv5fwEtfO9m\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqVVV1vmzAUfZ+0\/2Cl0p6WtYnXNommSoSmWaQ06kI2pll9cMAhVhBGxizLv981UD4M6Tqjay6He8y5\/rgEksZ7tJm+f4egJek2yADLdUgPOmSHIvXRItpJmiiZeiqVrPecR+vmc8k8xUVUjqFb5ZUjrpg6CnngUUB6lV8fSrcfTzYBQ4OrT9l1ObgxIhZzlywixWTEFJpTxY70ZISsrA0BO\/O2+VTqe0q3IfdIL78jJ93CBxJTn27WckqsOIYomiW+FNRHUxrSyGOyI34KMwdxpLijryJRRhiL\/LeJlPw3JAUqc+c1mdVaxvGGMwnrWROtkS6WbjPbGRDo0IYmBzQ4HzWsoobno3AVhTuiWrm382+kc08VzfPR3quJrO8dAoaeYMYDyZxvyy9beXn3mIaK961f51jM5wmZhXq5bOrtWY68RXoDaDx0nAhHCUkDWMzCMbOAiXMwmqbeAVY4E24lCbjoA2wp75DGpqTZg0PAkLOnkvkv4z\/\/hyLmpZKrE0gqPFOTaz0QMLROQ2Z+3pmTFxqaS9HWt7AeCRhaiyb5X7IeRcQhl6x0VD5Mw1IEQUcRsV2SlS2XKm9vvPu5pieiC9vP\/rpVGpyVQ8DQSii+K05Kp9DSyfvvCWzHWeRnTvKM+v27vHA+SBEpUrnIvl8V49VAHQ6TmuN6djUAVSYHwMkAfSpbyLCF4LowzclewCkokWELwU3E5Ordb7IbGDYxY4QXUSW9BuAGYBBhNxvMOoKbiMG1XYNaA3ADyHtdKOpolk5HnO3mileNzybqFDL9+0I7HoaTi91YXx\/hnykObHKBMS78\/pH7aj8Zxn\/qRL2ABXE3Hl9dlUTPu6Xw6IlQyMlxzxWr07TmnDZkt3g7KmkD+tkfnaXpbVrwxtf0mt6UvNvdyBv5fwEtfO9m\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><img alt=\"Architektura infrastruktury\" decoding=\"async\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e8538cd989.png\"\/><br \/>\n<em>Rysunek 6: Diagram architektury infrastruktury chmury AWS<\/em><\/p>\n<hr\/>\n<h2>7. Zaawansowane techniki: Stylizacja i dostosowanie {#zaawansowane-techniki}<\/h2>\n<h3>Zaawansowana stylizacja Mermaid<\/h3>\n<p><strong>Dostosowanie motywu:<\/strong><\/p>\n<p><img alt=\"Schemat blokowy demonstruj\u0105cy zaawansowane style Mermaid z kolorowymi kszta\u0142tami dla stan\u00f3w pocz\u0105tkowych, decyzyjnych, proces\u00f3w i ko\u0144cowych.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8e490dacf.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdj11rgzAUhu8F\/0NAJDcWWrXaejFQYy7HYGVQpBfWHtcwa0oS2Ir636ez+LEEAud9njckplmziqkA1Vhd4QY4wOdMArbQMH9kgmXnEiTuFF1D3cJ3wW6ZeMS85KKLseHGId2usbXkB\/hRk1MUxX8h4uICYlKc3S5x4tEqWQUT9Lf9HqGEnFeXxSsojTdrfzQUCMUWQv8EXWvb1jR1Tdc+RXa\/ogMZ\/DB9V5lQJ7RavaCoJpAzyXjVDjTq4+YIskFx+iZ4DlKi8DSHr7xBZGTRk8V\/9yVpUl2eCRmSYRhOqR4loBAVrCwDw97sPepYUgn+BYGx2fsesa28\/0bwfWUK5qXkWaKu6zjeWCKOTW06L\/0CR6+G1w==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdj11rgzAUhu8F\/0NAJDcWWrXaejFQYy7HYGVQpBfWHtcwa0oS2Ir636ez+LEEAud9njckplmziqkA1Vhd4QY4wOdMArbQMH9kgmXnEiTuFF1D3cJ3wW6ZeMS85KKLseHGId2usbXkB\/hRk1MUxX8h4uICYlKc3S5x4tEqWQUT9Lf9HqGEnFeXxSsojTdrfzQUCMUWQv8EXWvb1jR1Tdc+RXa\/ogMZ\/DB9V5lQJ7RavaCoJpAzyXjVDjTq4+YIskFx+iZ4DlKi8DSHr7xBZGTRk8V\/9yVpUl2eCRmSYRhOqR4loBAVrCwDw97sPepYUgn+BYGx2fsesa28\/0bwfWUK5qXkWaKu6zjeWCKOTW06L\/0CR6+G1w==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdj11rgzAUhu8F\/0NAJDcWWrXaejFQYy7HYGVQpBfWHtcwa0oS2Ir636ez+LEEAud9njckplmziqkA1Vhd4QY4wOdMArbQMH9kgmXnEiTuFF1D3cJ3wW6ZeMS85KKLseHGId2usbXkB\/hRk1MUxX8h4uICYlKc3S5x4tEqWQUT9Lf9HqGEnFeXxSsojTdrfzQUCMUWQv8EXWvb1jR1Tdc+RXa\/ogMZ\/DB9V5lQJ7RavaCoJpAzyXjVDjTq4+YIskFx+iZ4DlKi8DSHr7xBZGTRk8V\/9yVpUl2eCRmSYRhOqR4loBAVrCwDw97sPepYUgn+BYGx2fsesa28\/0bwfWUK5qXkWaKu6zjeWCKOTW06L\/0CR6+G1w==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">%%{init: {'theme':'base', 'themeVariables': {\r\n    'primaryColor': '#4CAF50',\r\n    'primaryTextColor': '#fff',\r\n    'primaryBorderColor': '#388E3C',\r\n    'lineColor': '#757575',\r\n    'secondaryColor': '#FFC107',\r\n    'tertiaryColor': '#fff'\r\n}}}%%\r\n\r\ngraph TD\r\n    A[Start] --&gt; B{Decision}\r\n    B --&gt;|Yes| C[Process A]\r\n    B --&gt;|No| D[Process B]\r\n    C --&gt; E[End]\r\n    D --&gt; E\r\n    \r\n    style A fill:#2196F3,stroke:#1976D2,color:white\r\n    style E fill:#F44336,stroke:#D32F2F,color:white\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdj11rgzAUhu8F\/0NAJDcWWrXaejFQYy7HYGVQpBfWHtcwa0oS2Ir636ez+LEEAud9njckplmziqkA1Vhd4QY4wOdMArbQMH9kgmXnEiTuFF1D3cJ3wW6ZeMS85KKLseHGId2usbXkB\/hRk1MUxX8h4uICYlKc3S5x4tEqWQUT9Lf9HqGEnFeXxSsojTdrfzQUCMUWQv8EXWvb1jR1Tdc+RXa\/ogMZ\/DB9V5lQJ7RavaCoJpAzyXjVDjTq4+YIskFx+iZ4DlKi8DSHr7xBZGTRk8V\/9yVpUl2eCRmSYRhOqR4loBAVrCwDw97sPepYUgn+BYGx2fsesa28\/0bwfWUK5qXkWaKu6zjeWCKOTW06L\/0CR6+G1w==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdj11rgzAUhu8F\/0NAJDcWWrXaejFQYy7HYGVQpBfWHtcwa0oS2Ir636ez+LEEAud9njckplmziqkA1Vhd4QY4wOdMArbQMH9kgmXnEiTuFF1D3cJ3wW6ZeMS85KKLseHGId2usbXkB\/hRk1MUxX8h4uICYlKc3S5x4tEqWQUT9Lf9HqGEnFeXxSsojTdrfzQUCMUWQv8EXWvb1jR1Tdc+RXa\/ogMZ\/DB9V5lQJ7RavaCoJpAzyXjVDjTq4+YIskFx+iZ4DlKi8DSHr7xBZGTRk8V\/9yVpUl2eCRmSYRhOqR4loBAVrCwDw97sPepYUgn+BYGx2fsesa28\/0bwfWUK5qXkWaKu6zjeWCKOTW06L\/0CR6+G1w==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdj11rgzAUhu8F\/0NAJDcWWrXaejFQYy7HYGVQpBfWHtcwa0oS2Ir636ez+LEEAud9njckplmziqkA1Vhd4QY4wOdMArbQMH9kgmXnEiTuFF1D3cJ3wW6ZeMS85KKLseHGId2usbXkB\/hRk1MUxX8h4uICYlKc3S5x4tEqWQUT9Lf9HqGEnFeXxSsojTdrfzQUCMUWQv8EXWvb1jR1Tdc+RXa\/ogMZ\/DB9V5lQJ7RavaCoJpAzyXjVDjTq4+YIskFx+iZ4DlKi8DSHr7xBZGTRk8V\/9yVpUl2eCRmSYRhOqR4loBAVrCwDw97sPepYUgn+BYGx2fsesa28\/0bwfWUK5qXkWaKu6zjeWCKOTW06L\/0CR6+G1w==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj Mermaid w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>Parametry sk\u00f3rki PlantUML<\/h3>\n<p><strong>Profesjonalne stylowanie:<\/strong><\/p>\n<p><img alt=\"Przep\u0142yw z aplikacji Frontend React i Redux Store do Backend Node.js API, serwera Express i MongoDB, demonstruj\u0105cy scentralizowane zarz\u0105dzanie stanem.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8e5b529f3.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:TPEnRjj038Pt0Ne78XqwfR2Yrh6N8euj5HqQ1FKOPA0bMbOZ7G-ySvEqwBkNikJOLkJRo9_7xpzIkd4UnM_hAWm-mhUALrY1ywzLQOemS4-biIXOmmgpfq9uQ_8vLopm8TsTunAtmPoVzHwiiN9qBEqkPYo61ABHiQ8Syg-MWCLlE0mQ5tEkBHioViX8zYR-3GFGSzjtbiJfLRheH9QSf1EYwVLuSTKACn5-xkN_jVXxROW53S5j9vr3wqJYP3I0JhzSpqUTaBBno_8FGVJvZNd7VX1eclnPMfHEaka0RJoPfl7aGElISJoUHad7t3_b8XMj89DVx3c72J_y9CmypAnz793oxGiiFGizzbisJizqlEESFlroCBl__hvdycA5d8CboM-IJi_HumeTmSCFDWKlRlUu8tTmUVcrR-aaR0jEuITXM_3EG3_JbXsCXC5kGr8M6m-yxdi0cEl312jTTwxxHQsjqUYGQiqt-beNupS46fP2WDPMPOQ-P1C6EiBT1z1WRZJGd_G_\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:TPEnRjj038Pt0Ne78XqwfR2Yrh6N8euj5HqQ1FKOPA0bMbOZ7G-ySvEqwBkNikJOLkJRo9_7xpzIkd4UnM_hAWm-mhUALrY1ywzLQOemS4-biIXOmmgpfq9uQ_8vLopm8TsTunAtmPoVzHwiiN9qBEqkPYo61ABHiQ8Syg-MWCLlE0mQ5tEkBHioViX8zYR-3GFGSzjtbiJfLRheH9QSf1EYwVLuSTKACn5-xkN_jVXxROW53S5j9vr3wqJYP3I0JhzSpqUTaBBno_8FGVJvZNd7VX1eclnPMfHEaka0RJoPfl7aGElISJoUHad7t3_b8XMj89DVx3c72J_y9CmypAnz793oxGiiFGizzbisJizqlEESFlroCBl__hvdycA5d8CboM-IJi_HumeTmSCFDWKlRlUu8tTmUVcrR-aaR0jEuITXM_3EG3_JbXsCXC5kGr8M6m-yxdi0cEl312jTTwxxHQsjqUYGQiqt-beNupS46fP2WDPMPOQ-P1C6EiBT1z1WRZJGd_G_\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VPF1RjD048RlblmEetBWL1JNa2ONrBIn4GSG8ZUg7YRsrDbuisEDDwGrubA99-8HWFTYxJZ4SLBsDlFFxlVlpEvLQL7iUgLzxoMyqpn7RGXA-wXvWqQHxvMvCWKAhc2EIPu9hqrwmve5NiJDwfQK2qnveqm6zwZBWztDneJ5a40mw2fQ6RAF1G6BNR3lrLPc_nn0pgk23Hdxw-UckotPvU6Rxu5Rrtr_KHXVnDDMP4b9MY4ONmwd5rjX8iARNlxxaOa2SqLz1uK3OaRFybrpmcXmWX-_kRmPj4BCnivKHH2yFWKsRD5ItiMwr7-OGJoAnYUOmz4u3aTxPfiEm-4uY5hoxa9diRWACkdPZhDlzkrdmiJ2f2ZkJaZf-i6vPw6x_f6rqsTE_CWflLgMCFdq_lZCwA4GAakOaNmbQVKKBSwn9BZzm2RZwVKErt47v-Tl-vOEmct18VmWt1OS6UXdjcLx8xxNJ4XKjh30ztqF05yITpD1hQfwo0GLIlNxHrer0tSVqj2gBairGe9_dcW9M6YLOx9KlkTwsBo0cdFb0lTt_m80\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n' Globalne stylowanie\r\nskinparam backgroundColor #FFFFFF\r\nskinparam shadowing false\r\nskinparam roundcorner 10\r\nskinparam linetype ortho\r\n\r\n' Stylowanie komponent\u00f3w\r\nskinparam component {\r\n    BackgroundColor #E3F2FD\r\n    BorderColor #1976D2\r\n    ArrowColor #1976D2\r\n}\r\n\r\n' Stylowanie pakiet\u00f3w\r\nskinparam package {\r\n    BackgroundColor #FFF3E0\r\n    BorderColor #F57C00\r\n    FontSize 14\r\n}\r\n\r\n' Stylowanie notatek\r\nskinparam note {\r\n    BackgroundColor #F1F8E9\r\n    BorderColor #689F38\r\n    FontColor #33691E\r\n}\r\n\r\npackage \"Frontend\" {\r\n    component [React App]\r\n    component [Redux Store]\r\n}\r\n\r\npackage \"Backend\" {\r\n    component [Node.js API]\r\n    component [Express Server]\r\n    database [MongoDB]\r\n}\r\n\r\n[React App] --&gt; [Redux Store]\r\n[Redux Store] --&gt; [Node.js API]\r\n[Node.js API] --&gt; [Express Server]\r\n[Express Server] --&gt; [MongoDB]\r\n\r\nnote right of [Redux Store]\r\n  Zcentralizowane zarz\u0105dzanie stanem\r\n  dla ca\u0142ej aplikacji\r\nend note\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VPF1RjD048RlblmEetBWL1JNa2ONrBIn4GSG8ZUg7YRsrDbuisEDDwGrubA99-8HWFTYxJZ4SLBsDlFFxlVlpEvLQL7iUgLzxoMyqpn7RGXA-wXvWqQHxvMvCWKAhc2EIPu9hqrwmve5NiJDwfQK2qnveqm6zwZBWztDneJ5a40mw2fQ6RAF1G6BNR3lrLPc_nn0pgk23Hdxw-UckotPvU6Rxu5Rrtr_KHXVnDDMP4b9MY4ONmwd5rjX8iARNlxxaOa2SqLz1uK3OaRFybrpmcXmWX-_kRmPj4BCnivKHH2yFWKsRD5ItiMwr7-OGJoAnYUOmz4u3aTxPfiEm-4uY5hoxa9diRWACkdPZhDlzkrdmiJ2f2ZkJaZf-i6vPw6x_f6rqsTE_CWflLgMCFdq_lZCwA4GAakOaNmbQVKKBSwn9BZzm2RZwVKErt47v-Tl-vOEmct18VmWt1OS6UXdjcLx8xxNJ4XKjh30ztqF05yITpD1hQfwo0GLIlNxHrer0tSVqj2gBairGe9_dcW9M6YLOx9KlkTwsBo0cdFb0lTt_m80\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:TPEnRjj038Pt0Ne78XqwfR2Yrh6N8euj5HqQ1FKOPA0bMbOZ7G-ySvEqwBkNikJOLkJRo9_7xpzIkd4UnM_hAWm-mhUALrY1ywzLQOemS4-biIXOmmgpfq9uQ_8vLopm8TsTunAtmPoVzHwiiN9qBEqkPYo61ABHiQ8Syg-MWCLlE0mQ5tEkBHioViX8zYR-3GFGSzjtbiJfLRheH9QSf1EYwVLuSTKACn5-xkN_jVXxROW53S5j9vr3wqJYP3I0JhzSpqUTaBBno_8FGVJvZNd7VX1eclnPMfHEaka0RJoPfl7aGElISJoUHad7t3_b8XMj89DVx3c72J_y9CmypAnz793oxGiiFGizzbisJizqlEESFlroCBl__hvdycA5d8CboM-IJi_HumeTmSCFDWKlRlUu8tTmUVcrR-aaR0jEuITXM_3EG3_JbXsCXC5kGr8M6m-yxdi0cEl312jTTwxxHQsjqUYGQiqt-beNupS46fP2WDPMPOQ-P1C6EiBT1z1WRZJGd_G_\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:TPEnRjj038Pt0Ne78XqwfR2Yrh6N8euj5HqQ1FKOPA0bMbOZ7G-ySvEqwBkNikJOLkJRo9_7xpzIkd4UnM_hAWm-mhUALrY1ywzLQOemS4-biIXOmmgpfq9uQ_8vLopm8TsTunAtmPoVzHwiiN9qBEqkPYo61ABHiQ8Syg-MWCLlE0mQ5tEkBHioViX8zYR-3GFGSzjtbiJfLRheH9QSf1EYwVLuSTKACn5-xkN_jVXxROW53S5j9vr3wqJYP3I0JhzSpqUTaBBno_8FGVJvZNd7VX1eclnPMfHEaka0RJoPfl7aGElISJoUHad7t3_b8XMj89DVx3c72J_y9CmypAnz793oxGiiFGizzbisJizqlEESFlroCBl__hvdycA5d8CboM-IJi_HumeTmSCFDWKlRlUu8tTmUVcrR-aaR0jEuITXM_3EG3_JbXsCXC5kGr8M6m-yxdi0cEl312jTTwxxHQsjqUYGQiqt-beNupS46fP2WDPMPOQ-P1C6EiBT1z1WRZJGd_G_\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj PlantUML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>Zaawansowane atrybuty Graphviz<\/h3>\n<p><strong>Profesjonalny diagram sieciowy:<\/strong><\/p>\n<p><img alt=\"Diagram architektury systemu przedsi\u0119biorstwa pokazuj\u0105cy warstwy: Prezentacji, Logiki Biznesowej i Danych z komponentami Flutter, React, Node.js i PostgreSQL.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8e7dbd492.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqtVmtv2jAU\/T5p\/yHKvnbl1QRQl0q0Zd2kbmOlUj901eTYN+DV2JHtFLGq\/312HuQBdIu0IEF8rjn3+tyTC4QuJIqXzoQ8IY6BzPWGUb5wnt++cczV6ThXTISIOdk2pLWkYaJBZfEMvc8W9goXWDAhA\/ddNIrGEXLLUCS45mgFgfsJ2BNoiptRRX9D0PNLkKEQWOBOuQYZS6rAmW+UhpUzkXhJNWCdSPjBZ1KQBGsquDPlT1QKvgKu3QYPEzhwq2iMSNA99kpAIv6oIA56VZALAhnYzcCH0+xzq9AlRChhOt25o1AK3rdXoVeCyvTE7I8oY0COpEg4AVI9B\/A1JXoZ9P9SIJDFboEp2L7A8Z78Nd2QlGKdbu0ejw4U9tWKg1lieiqVs6Z66WCzEKv0zMaH2U6VhJnR8q0\/Y2lawjVKW\/6845dZNXyNNiDd06acmZoVuPAtDKJ+RKpfsGcuoj3P93C3Gi3v7iB07vMS7P0kjplRz1bxIZSdsxtAWDu9kXvk2OwFpX8SepFvwTLP2rrbfaik+SJCymDLny9NipT6I0u0EaY180u1ITsyh4miHJTaI\/F5EboWC4pbixxF0QC6h0QG3+t1D4g8mX3einAznd9aIJXAeun4l2pIEEXh8ITUJQgZwo81ca\/ssb9fb4mL9RXSsEab1pyvy0qQRnskvbRwa7eOIg\/Gh4Tsw5AM+vuFnEm6QnKzPXOxvjxP5ZwJpRcS5kaF3ok5q1qiGAJsn0oCsi4I8oiPhjVFbyD1ftkqQKQAW\/PjEfh4XOO\/QHgJFXZCVYal5BeZ0uahIdCO+6UxoaZmOr4ymexj\/v6sZspPt7ezecda02Tejo3x0Cf9umUKsEidP9L\/iy4vrWltA88FfgT9j3RHuQMJUksg9Qlu6zQpmk6yve7cSTtnyhyD0QgGuJEjBwvWnK\/e23RVIYq8ITbDoU60BfcVW0hgqPfa8htnm5aVZu\/FwfcQz7UEtLL\/pPKI\/RWoJBl69lUWLMz4Tgt++QMrEbZc\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj DOT w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqtVmtv2jAU\/T5p\/yHKvnbl1QRQl0q0Zd2kbmOlUj901eTYN+DV2JHtFLGq\/312HuQBdIu0IEF8rjn3+tyTC4QuJIqXzoQ8IY6BzPWGUb5wnt++cczV6ThXTISIOdk2pLWkYaJBZfEMvc8W9goXWDAhA\/ddNIrGEXLLUCS45mgFgfsJ2BNoiptRRX9D0PNLkKEQWOBOuQYZS6rAmW+UhpUzkXhJNWCdSPjBZ1KQBGsquDPlT1QKvgKu3QYPEzhwq2iMSNA99kpAIv6oIA56VZALAhnYzcCH0+xzq9AlRChhOt25o1AK3rdXoVeCyvTE7I8oY0COpEg4AVI9B\/A1JXoZ9P9SIJDFboEp2L7A8Z78Nd2QlGKdbu0ejw4U9tWKg1lieiqVs6Z66WCzEKv0zMaH2U6VhJnR8q0\/Y2lawjVKW\/6845dZNXyNNiDd06acmZoVuPAtDKJ+RKpfsGcuoj3P93C3Gi3v7iB07vMS7P0kjplRz1bxIZSdsxtAWDu9kXvk2OwFpX8SepFvwTLP2rrbfaik+SJCymDLny9NipT6I0u0EaY180u1ITsyh4miHJTaI\/F5EboWC4pbixxF0QC6h0QG3+t1D4g8mX3einAznd9aIJXAeun4l2pIEEXh8ITUJQgZwo81ca\/ssb9fb4mL9RXSsEab1pyvy0qQRnskvbRwa7eOIg\/Gh4Tsw5AM+vuFnEm6QnKzPXOxvjxP5ZwJpRcS5kaF3ok5q1qiGAJsn0oCsi4I8oiPhjVFbyD1ftkqQKQAW\/PjEfh4XOO\/QHgJFXZCVYal5BeZ0uahIdCO+6UxoaZmOr4ymexj\/v6sZspPt7ezecda02Tejo3x0Cf9umUKsEidP9L\/iy4vrWltA88FfgT9j3RHuQMJUksg9Qlu6zQpmk6yve7cSTtnyhyD0QgGuJEjBwvWnK\/e23RVIYq8ITbDoU60BfcVW0hgqPfa8htnm5aVZu\/FwfcQz7UEtLL\/pPKI\/RWoJBl69lUWLMz4Tgt++QMrEbZc\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj DOT w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">DOT<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqtVduO2zYQfQ\/QfyDc1+36tr4hVYDtLQnapu7aQIAGQTEiRzZXEimQVAypyEte+g3bfkY\/obv\/VVKyrEu8qV3UBnw5JOfMnDkcMb5RkGzJNXsHgiJbmSziYkN+++wJsa9+nzyPpA+RQAJGZX5qMmJPBGm5Xh5+U\/5xL39DZSSV1\/s8mAeLAHr1UiCFERCj13uB0Ts0nHZXNc\/RG05rMAIfI693reiWGwxNqoDoTBuMU5KoHJnm93c+l0qbHYiHP5Rkcsd1KO2qZGlIs1uBvU68SFKvZxpoAswbXE5qQIEINSbesAkKybAEByX49mn5fVDqGxlnD3+2pNrd3+UPH\/7+a1ducjGaap0qybAGtW2Q3R\/wKEJ2oWQqGLJmMSh2nJmtNzo9y1CBTZTlvNyEbPNfslwcSaKlICgld8XWweW8m53N7PsIbGtVLRrJieCoDQgGynY2i4vype01x7g8qVO\/NCGNUnf610TZNgkDhktR2bjhpddQmMUaBHO3jd7y3tOuvKW6DbgyNY6DUcCaB1z51epwMp3QQXO1\/vUaffKm8nMS8dAyA9mhb6v50lf9ZzcI1JDhvHdBHH0Vc3rlT4KpA2uinbsNvbcNnh+lzyM8QhC7BVEyfBelxip0BkER\/33TQB\/J7aeaC9T6E1JHcsNDTnye241yh7dnCB4EwRgHjwmO08lw8Ijg18uXBz1uvl2tHVDI8Mpewstb3ZEhCPzZFWvL4EdAw5bOz13tP\/9wCPyVghgq9IyIJwjLwMAnRGUgMro9x7rzYIKLx5Qc4YyNR8eVXCoeg8rqoiGv+MmmuKh7gy2lNhuFKyvQ8MoWrreQoEfdE4WhaqsDEzaFWUvcG7S2pVB3DQsbEyaJZDTPTHo2C53jlC5aLF8D3dY3ZQmxfYTc\/04SydT9Hc0F2DwY1wXV2g5IErqxpOBUpo9b60ZbNWHxlJnmZsUXz1oOfrFeL1d952Obx2HeLGZTNmo7rAKrkveT4f8Kt0+tew8svJI0RHNiuIu9WxnoLbL2M8rlaSm6rvupsED\/F0i4brCM53Mc0w7LHqzi7iP+a+cbYYPJjNrJ0g57AI8lX0liibpGXmdRWHn4zNTLz0qLI7H3l8TNeuvSNOYouDVTg2Y2ce86a2kfAjbrJ+\/\/ARjn8mM=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-dot\"><code class=\"language-dot\" data-language=\"dot\" class=\"language-dot\">digraph AdvancedStyling {\r\n    \/\/ Globalne atrybuty grafu\r\n    graph [\r\n        bgcolor=\"#f8f9fa\"\r\n        fontname=\"Helvetica\"\r\n        fontsize=16\r\n        label=\"Architektura systemu przedsi\u0119biorstwan\u015arodowisko produkcyjne\"\r\n        labelloc=\"t\"\r\n        pad=0.5\r\n        ranksep=1.5\r\n        nodesep=1.0\r\n    ];\r\n    \r\n    \/\/ Domy\u015blne atrybuty w\u0119z\u0142\u00f3w\r\n    node [\r\n        fontname=\"Helvetica\"\r\n        fontsize=11\r\n        style=\"filled,rounded\"\r\n        penwidth=2\r\n    ];\r\n    \r\n    \/\/ Domy\u015blne atrybuty kraw\u0119dzi\r\n    edge [\r\n        fontname=\"Helvetica\"\r\n        fontsize=9\r\n        penwidth=1.5\r\n        arrowsize=0.8\r\n    ];\r\n    \r\n\/\/ Klaster w\u0119z\u0142\u00f3w z niestandardowym stylowaniem\r\n    subgraph cluster_presentation {\r\n        label=\"Warstwa prezentacji\";\r\n        style=filled;\r\n        color=\"#e3f2fd\";\r\n        fontcolor=\"#1565c0\";\r\n        \r\n        Web [label=\"Aplikacja webowa&lt;br\/&gt;React 18\", fillcolor=\"#64b5f6\", fontcolor=\"white\"];\r\n        Mobile [label=\"Aplikacja mobilna&lt;br\/&gt;Flutter\", fillcolor=\"#64b5f6\", fontcolor=\"white\"];\n    }\r\n    \r\n    subgraph cluster_business {\r\n        label=\"Warstwa logiki biznesowej\";\r\n        style=filled;\r\n        color=\"#fff3e0\";\r\n        fontcolor=\"#e65100\";\r\n        \r\n        API [label=\"REST API&lt;br\/&gt;Node.js\", fillcolor=\"#ffb74d\", fontcolor=\"black\"];\r\n        GraphQL [label=\"Brama GraphQL\", fillcolor=\"#ffb74d\", fontcolor=\"black\"];\n    }\r\n    \r\n    subgraph cluster_data {\r\n        label=\"Warstwa danych\";\r\n        style=filled;\r\n        color=\"#e8f5e9\";\r\n        fontcolor=\"#2e7d32\";\r\n        \r\n        Primary [label=\"Baza danych g\u0142\u00f3wna&lt;br\/&gt;PostgreSQL 14\", shape=cylinder, fillcolor=\"#a5d6a7\"];\r\n        Replica [label=\"Replika do odczytu&lt;br\/&gt;PostgreSQL 14\", shape=cylinder, fillcolor=\"#c8e6c9\"];\r\n        Cache [label=\"Pami\u0119\u0107 podr\u0119czna Redis&lt;br\/&gt;Tryb klastra\", shape=cylinder, fillcolor=\"#c8e6c9\"];\n    }\r\n    \r\n    \/\/ Kraw\u0119dzie z niestandardowym stylowaniem\r\n    Web -&gt; API [label=\"HTTPS\/REST\", color=\"#1976d2\", fontcolor=\"#1976d2\"];\r\n    Mobile -&gt; API [label=\"HTTPS\/REST\", color=\"#1976d2\", fontcolor=\"#1976d2\"];\r\n    Web -&gt; GraphQL [label=\"WebSocket\", color=\"#1976d2\", fontcolor=\"#1976d2\", style=dashed];\r\n    \r\n    API -&gt; Primary [label=\"Odczyt\/Zapis\", color=\"#388e3c\", fontcolor=\"#388e3c\"];\r\n    API -&gt; Cache [label=\"Pami\u0119\u0107 podr\u0119czna\", color=\"#f57c00\", fontcolor=\"#f57c00\", style=dashed];\r\n    GraphQL -&gt; Replica [label=\"Tylko odczyt\", color=\"#388e3c\", fontcolor=\"#388e3c\"];\r\n    \r\n    Primary -&gt; Replica [label=\"Replikacja strumieniowa\", color=\"#757575\", style=dotted];\n}\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqtVduO2zYQfQ\/QfyDc1+36tr4hVYDtLQnapu7aQIAGQTEiRzZXEimQVAypyEte+g3bfkY\/obv\/VVKyrEu8qV3UBnw5JOfMnDkcMb5RkGzJNXsHgiJbmSziYkN+++wJsa9+nzyPpA+RQAJGZX5qMmJPBGm5Xh5+U\/5xL39DZSSV1\/s8mAeLAHr1UiCFERCj13uB0Ts0nHZXNc\/RG05rMAIfI693reiWGwxNqoDoTBuMU5KoHJnm93c+l0qbHYiHP5Rkcsd1KO2qZGlIs1uBvU68SFKvZxpoAswbXE5qQIEINSbesAkKybAEByX49mn5fVDqGxlnD3+2pNrd3+UPH\/7+a1ducjGaap0qybAGtW2Q3R\/wKEJ2oWQqGLJmMSh2nJmtNzo9y1CBTZTlvNyEbPNfslwcSaKlICgld8XWweW8m53N7PsIbGtVLRrJieCoDQgGynY2i4vype01x7g8qVO\/NCGNUnf610TZNgkDhktR2bjhpddQmMUaBHO3jd7y3tOuvKW6DbgyNY6DUcCaB1z51epwMp3QQXO1\/vUaffKm8nMS8dAyA9mhb6v50lf9ZzcI1JDhvHdBHH0Vc3rlT4KpA2uinbsNvbcNnh+lzyM8QhC7BVEyfBelxip0BkER\/33TQB\/J7aeaC9T6E1JHcsNDTnye241yh7dnCB4EwRgHjwmO08lw8Ijg18uXBz1uvl2tHVDI8Mpewstb3ZEhCPzZFWvL4EdAw5bOz13tP\/9wCPyVghgq9IyIJwjLwMAnRGUgMro9x7rzYIKLx5Qc4YyNR8eVXCoeg8rqoiGv+MmmuKh7gy2lNhuFKyvQ8MoWrreQoEfdE4WhaqsDEzaFWUvcG7S2pVB3DQsbEyaJZDTPTHo2C53jlC5aLF8D3dY3ZQmxfYTc\/04SydT9Hc0F2DwY1wXV2g5IErqxpOBUpo9b60ZbNWHxlJnmZsUXz1oOfrFeL1d952Obx2HeLGZTNmo7rAKrkveT4f8Kt0+tew8svJI0RHNiuIu9WxnoLbL2M8rlaSm6rvupsED\/F0i4brCM53Mc0w7LHqzi7iP+a+cbYYPJjNrJ0g57AI8lX0liibpGXmdRWHn4zNTLz0qLI7H3l8TNeuvSNOYouDVTg2Y2ce86a2kfAjbrJ+\/\/ARjn8mM=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqtVmtv2jAU\/T5p\/yHKvnbl1QRQl0q0Zd2kbmOlUj901eTYN+DV2JHtFLGq\/312HuQBdIu0IEF8rjn3+tyTC4QuJIqXzoQ8IY6BzPWGUb5wnt++cczV6ThXTISIOdk2pLWkYaJBZfEMvc8W9goXWDAhA\/ddNIrGEXLLUCS45mgFgfsJ2BNoiptRRX9D0PNLkKEQWOBOuQYZS6rAmW+UhpUzkXhJNWCdSPjBZ1KQBGsquDPlT1QKvgKu3QYPEzhwq2iMSNA99kpAIv6oIA56VZALAhnYzcCH0+xzq9AlRChhOt25o1AK3rdXoVeCyvTE7I8oY0COpEg4AVI9B\/A1JXoZ9P9SIJDFboEp2L7A8Z78Nd2QlGKdbu0ejw4U9tWKg1lieiqVs6Z66WCzEKv0zMaH2U6VhJnR8q0\/Y2lawjVKW\/6845dZNXyNNiDd06acmZoVuPAtDKJ+RKpfsGcuoj3P93C3Gi3v7iB07vMS7P0kjplRz1bxIZSdsxtAWDu9kXvk2OwFpX8SepFvwTLP2rrbfaik+SJCymDLny9NipT6I0u0EaY180u1ITsyh4miHJTaI\/F5EboWC4pbixxF0QC6h0QG3+t1D4g8mX3einAznd9aIJXAeun4l2pIEEXh8ITUJQgZwo81ca\/ssb9fb4mL9RXSsEab1pyvy0qQRnskvbRwa7eOIg\/Gh4Tsw5AM+vuFnEm6QnKzPXOxvjxP5ZwJpRcS5kaF3ok5q1qiGAJsn0oCsi4I8oiPhjVFbyD1ftkqQKQAW\/PjEfh4XOO\/QHgJFXZCVYal5BeZ0uahIdCO+6UxoaZmOr4ymexj\/v6sZspPt7ezecda02Tejo3x0Cf9umUKsEidP9L\/iy4vrWltA88FfgT9j3RHuQMJUksg9Qlu6zQpmk6yve7cSTtnyhyD0QgGuJEjBwvWnK\/e23RVIYq8ITbDoU60BfcVW0hgqPfa8htnm5aVZu\/FwfcQz7UEtLL\/pPKI\/RWoJBl69lUWLMz4Tgt++QMrEbZc\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj DOT w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqtVmtv2jAU\/T5p\/yHKvnbl1QRQl0q0Zd2kbmOlUj901eTYN+DV2JHtFLGq\/312HuQBdIu0IEF8rjn3+tyTC4QuJIqXzoQ8IY6BzPWGUb5wnt++cczV6ThXTISIOdk2pLWkYaJBZfEMvc8W9goXWDAhA\/ddNIrGEXLLUCS45mgFgfsJ2BNoiptRRX9D0PNLkKEQWOBOuQYZS6rAmW+UhpUzkXhJNWCdSPjBZ1KQBGsquDPlT1QKvgKu3QYPEzhwq2iMSNA99kpAIv6oIA56VZALAhnYzcCH0+xzq9AlRChhOt25o1AK3rdXoVeCyvTE7I8oY0COpEg4AVI9B\/A1JXoZ9P9SIJDFboEp2L7A8Z78Nd2QlGKdbu0ejw4U9tWKg1lieiqVs6Z66WCzEKv0zMaH2U6VhJnR8q0\/Y2lawjVKW\/6845dZNXyNNiDd06acmZoVuPAtDKJ+RKpfsGcuoj3P93C3Gi3v7iB07vMS7P0kjplRz1bxIZSdsxtAWDu9kXvk2OwFpX8SepFvwTLP2rrbfaik+SJCymDLny9NipT6I0u0EaY180u1ITsyh4miHJTaI\/F5EboWC4pbixxF0QC6h0QG3+t1D4g8mX3einAznd9aIJXAeun4l2pIEEXh8ITUJQgZwo81ca\/ssb9fb4mL9RXSsEab1pyvy0qQRnskvbRwa7eOIg\/Gh4Tsw5AM+vuFnEm6QnKzPXOxvjxP5ZwJpRcS5kaF3ok5q1qiGAJsn0oCsi4I8oiPhjVFbyD1ftkqQKQAW\/PjEfh4XOO\/QHgJFXZCVYal5BeZ0uahIdCO+6UxoaZmOr4ymexj\/v6sZspPt7ezecda02Tejo3x0Cf9umUKsEidP9L\/iy4vrWltA88FfgT9j3RHuQMJUksg9Qlu6zQpmk6yve7cSTtnyhyD0QgGuJEjBwvWnK\/e23RVIYq8ITbDoU60BfcVW0hgqPfa8htnm5aVZu\/FwfcQz7UEtLL\/pPKI\/RWoJBl69lUWLMz4Tgt++QMrEbZc\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edytuj DOT w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<hr\/>\n<h2>8. Wsp\u00f3\u0142praca i przep\u0142ywy udost\u0119pniania {#wspolpraca}<\/h2>\n<h3>Tworzenie diagram\u00f3w do udost\u0119pniania<\/h3>\n<p><strong>Udost\u0119pnianie krok po kroku:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Generuj link do udost\u0119pniania:<\/strong><\/p>\n<ul>\n<li>\n<p>Kliknij przycisk \u201eUdost\u0119pnij\u201d w VPasCode<\/p>\n<\/li>\n<li>\n<p>Skopiuj wygenerowany adres URL<\/p>\n<\/li>\n<li>\n<p>Udost\u0119pnij przez e-mail, Slack lub dokumentacj\u0119<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Osad\u017a w dokumentacji:<\/strong><\/p>\n<pre class=\"lang-markdown\"><code data-language=\"markdown\">## Architektura systemu\r\n\r\n![Diagram architektury](https:\/\/www.vpascode.com\/share\/abc123xyz.svg)\r\n\r\nLub osad\u017a wersj\u0119 interaktywn\u0105:\r\n&lt;iframe src=\"https:\/\/www.vpascode.com\/embed\/abc123xyz\" width=\"100%\" height=\"600\"&gt;&lt;\/iframe&gt;\r\n\r\n<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>Eksportuj do prezentacji:<\/strong><\/p>\n<ul>\n<li>\n<p>SVG do skalowalnych grafik webowych<\/p>\n<\/li>\n<li>\n<p>PNG (300 DPI) do PowerPoint\/Keynote<\/p>\n<\/li>\n<li>\n<p>PDF do dokumentacji drukowanej<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3>Integracja z systemem kontroli wersji<\/h3>\n<p><strong>Przechowuj kod diagram\u00f3w w Git:<\/strong><\/p>\n<pre><code>project-root\/\r\n\u251c\u2500\u2500 docs\/\r\n\u2502   \u251c\u2500\u2500 diagrams\/\r\n\u2502   \u2502   \u251c\u2500\u2500 architecture\/\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 system-overview.puml\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 deployment-view.puml\r\n\u2502   \u2502   \u2502   \u2514\u2500\u2500 data-flow.mmd\r\n\u2502   \u2502   \u251c\u2500\u2500 processes\/\r\n\u2502   \u2502   \u2502   \u2514\u2500\u2500 user-journey.mmd\r\n\u2502   \u2502   \u2514\u2500\u2500 infrastructure\/\r\n\u2502   \u2502       \u2514\u2500\u2500 aws-architecture.dot\r\n\u2502   \u2514\u2500\u2500 README.md\r\n\u2514\u2500\u2500 src\/\r\n<\/code><\/pre>\n<p><strong>Przyk\u0142adowy przep\u0142yw pracy w Git:<\/strong><\/p>\n<pre class=\"lang-bash\"><code data-language=\"bash\"># Utw\u00f3rz diagram\r\necho '@startuml\r\ncomponent \"API Gateway\"\r\n@enduml' &gt; docs\/diagrams\/architecture\/gateway.puml\r\n\r\n# Zapisz zmiany\r\ngit add docs\/diagrams\/architecture\/gateway.puml\r\ngit commit -m \"Dodaj diagram architektury API Gateway\"\r\ngit push\r\n\r\n# Cz\u0142onkowie zespo\u0142u mog\u0105 teraz zobaczy\u0107 diagram w VPasCode\r\n# poprzez wklejenie kodu lub za\u0142adowanie z adresu URL\r\n<\/code><\/pre>\n<h3>Wzorce wsp\u00f3\u0142pracy zespo\u0142owej<\/h3>\n<p><strong>Wzorzec 1: Architektoniczne Rejesty Decyzji (ADR)<\/strong><\/p>\n<pre class=\"lang-markdown\"><code data-language=\"markdown\"># ADR-007: Wzorzec komunikacji mi\u0119dzy mikrous\u0142ugami\r\n\r\n## Kontekst\r\nMusimy standaryzowa\u0107 spos\u00f3b komunikacji mi\u0119dzy mikrous\u0142ugami.\r\n\r\n## Decyzja\r\nU\u017cyj asynchronicznej wymiany wiadomo\u015bci przez RabbitMQ do komunikacji mi\u0119dzy us\u0142ugami.\r\n\r\n## Diagram architektury\r\n\r\n```mermaid\r\ngraph LR\r\n    A[Us\u0142uga A] --&gt;|Publikuj| B[(RabbitMQ)]\r\n    B --&gt;|Subskrybuj| C[Us\u0142uga B]\r\n    B --&gt;|Subskrybuj| D[Us\u0142uga C]\r\n<\/code><\/pre>\n<h2>Skutki<\/h2>\n<ul>\n<li>\n<p>Lepsze od\u0142\u0105czenie (deko\u0142owanie)<\/p>\n<\/li>\n<li>\n<p>Lepsza skalowalno\u015b\u0107<\/p>\n<\/li>\n<li>\n<p>Dodatkowe z\u0142o\u017cono\u015b\u0107 w obs\u0142udze wiadomo\u015bci<\/p>\n<\/li>\n<\/ul>\n<pre><code>\r\n**Wzorzec 2: Dokumentacja planowania sprintu**\r\n\r\nTw\u00f3rz \u017cywe diagramy, kt\u00f3re ewoluuj\u0105 wraz z Twoim sprintem:\r\n<\/code><\/pre>\n<p><img alt=\"Tablica Kanban Sprint 24 pokazuj\u0105ca zadania zako\u0144czone, w toku, do zrobienia oraz zablokowane, takie jak Modu\u0142 Autoryzacji U\u017cytkownika, Rozw\u00f3j API i Integracja z systemami zewn\u0119trznymi.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8f5b49dbe.png\"\/><\/p>\n<pre><code><\/code><\/pre>\n<pre><code>graph TD\r\n    subgraph Sprint24[\"Sprint 24 - W toku\"]\r\n        Done[\u2705 Uko\u0144czone zadania]\r\n        InProgress[\ud83d\udd04 W toku]\r\n        ToDo[\ud83d\udccb Do zrobienia]\r\n        Blocked[\u26d4 Zablokowane]\r\n    end\r\n    \r\n    Done --&gt; Task1[Modu\u0142 autoryzacji u\u017cytkownika]\r\n    Done --&gt; Task2[Migracja bazy danych]\r\n    \r\n    InProgress --&gt; Task3[Rozw\u00f3j API]\r\n    InProgress --&gt; Task4[Integracja frontendu]\r\n    \r\n    ToDo --&gt; Task5[Test\u00f3w jednostkowych]\r\n    ToDo --&gt; Task6[Dokumentacji]\r\n    \r\n    Blocked --&gt; Task7[Integracji z zewn\u0119trznymi us\u0142ugami]\r\n    \r\n    style Done fill:#d4edda,stroke:#28a745\r\n    style InProgress fill:#fff3cd,stroke:#ffc107\r\n    style ToDo fill:#e2e3e5,stroke:#6c757d\r\n    style Blocked fill:#f8d7da,stroke:#dc3545\r\n<\/code><\/pre>\n<hr\/>\n<h2>Podsumowanie: Twoja podr\u00f3\u017c do doskona\u0142o\u015bci w dokumentacji<\/h2>\n<p>Gratulacje! Uko\u0144czy\u0142e\u015b ju\u017c kompleksow\u0105 podr\u00f3\u017c przez VPasCode i metodologi\u0119 Diagram\u00f3w jako Kodu. Zastan\u00f3wmy si\u0119 nad tym, czego si\u0119 nauczy\u0142e\u015b, i zaplanujmy swoj\u0105 przysz\u0142\u0105 \u015bcie\u017ck\u0119.<\/p>\n<h3>Co opanowa\u0142e\u015b<\/h3>\n<p>Przez ca\u0142y ten samouczek odkry\u0142e\u015b:<\/p>\n<ol>\n<li>\n<p><strong>Moc diagram\u00f3w tekstowych<\/strong>: Zobaczy\u0142e\u015b, jak pisanie kodu do tworzenia diagram\u00f3w eliminuje trudno\u015bci zwi\u0105zane z r\u0119cznym pozycjonowaniem, zapewnia sp\u00f3jno\u015b\u0107 i sprawia, \u017ce dokumentacja jest \u0142atwa w utrzymaniu.<\/p>\n<\/li>\n<li>\n<p><strong>Trzy silniki standardu bran\u017cowego<\/strong>: Teraz posiadasz praktyczne umiej\u0119tno\u015bci w zakresie:<\/p>\n<ul>\n<li>\n<p><strong>Mermaid.js<\/strong>\u00a0do przyjaznych programistom schemat\u00f3w blokowych i nowoczesnej dokumentacji<\/p>\n<\/li>\n<li>\n<p><strong>PlantUML<\/strong>\u00a0do diagram\u00f3w UML i architektury klasy enterprise<\/p>\n<\/li>\n<li>\n<p><strong>Graphviz<\/strong>\u00a0do wizualizacji z\u0142o\u017conych topologii sieci i relacji<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Wzory z praktyki<\/strong>: Od architektury mikroserwis\u00f3w i schemat\u00f3w baz danych, przez potoki CI\/CD, po struktury organizacyjne \u2014 nauczy\u0142e\u015b si\u0119 wizualizowa\u0107 praktycznie ka\u017cdy system lub proces.<\/p>\n<\/li>\n<li>\n<p><strong>Przep\u0142ywy pracy zespo\u0142owej<\/strong>: Rozumiesz, jak udost\u0119pnia\u0107 diagramy za pomoc\u0105 adres\u00f3w URL, osadza\u0107 je w dokumentacji, integrowa\u0107 z systemem kontroli wersji oraz automatyzowa\u0107 ich generowanie w potokach CI\/CD.<\/p>\n<\/li>\n<li>\n<p><strong>Profesjonalny styl<\/strong>: Mo\u017cesz tworzy\u0107 wizualizacje na poziomie publikacji z wykorzystaniem niestandardowych motyw\u00f3w, sp\u00f3jnego brandingu i odpowiedniego poziomu szczeg\u00f3\u0142owo\u015bci dla r\u00f3\u017cnych odbiorc\u00f3w.<\/p>\n<\/li>\n<\/ol>\n<h3>Szerszy kontekst<\/h3>\n<p>To, co sprawia, \u017ce VPasCode jest naprawd\u0119 transformacyjny, to nie tylko sam narz\u0119dzie \u2014 to zmiana paradygmatu, kt\u00f3r\u0105 reprezentuje. Traktuj\u0105c diagramy jak kod, stajesz si\u0119:<\/p>\n<ul>\n<li>\n<p><strong>Zamykanie luki<\/strong>\u00a0mi\u0119dzy implementacj\u0105 a dokumentacj\u0105<\/p>\n<\/li>\n<li>\n<p><strong>Demokratyzacja architektury<\/strong>\u00a0poprzez uczynienie jej dost\u0119pn\u0105 dla ka\u017cdego cz\u0142onka zespo\u0142u<\/p>\n<\/li>\n<li>\n<p><strong>Przysz\u0142o\u015bciowe zabezpieczenie wiedzy<\/strong>\u00a0dzi\u0119ki tekstowym, kontrolowanym wersyjnie artefaktom<\/p>\n<\/li>\n<li>\n<p><strong>Przyspieszanie wdra\u017cania nowych pracownik\u00f3w<\/strong>\u00a0dzi\u0119ki jasnej, wykonywalnej dokumentacji<\/p>\n<\/li>\n<li>\n<p><strong>Zmniejszanie zad\u0142u\u017cenia technicznego<\/strong>\u00a0poprzez uproszczenie aktualizacji do poziomu edycji tekstu<\/p>\n<\/li>\n<\/ul>\n<h3>Twoje kolejne kroki<\/h3>\n<p><strong>Tydzie\u0144 1: Zacznij od ma\u0142ych krok\u00f3w<\/strong><\/p>\n<ul>\n<li>\n<p>Wybierz jeden istniej\u0105cy diagram w swojej organizacji<\/p>\n<\/li>\n<li>\n<p>Odtw\u00f3rz go w VPasCode, u\u017cywaj\u0105c preferowanego silnika<\/p>\n<\/li>\n<li>\n<p>Udost\u0119pnij go koledze i zbierz opinie<\/p>\n<\/li>\n<li>\n<p>Zapisz kod w repozytorium projektu<\/p>\n<\/li>\n<\/ul>\n<p><strong>Tydzie\u0144 2-3: Budowanie impetu<\/strong><\/p>\n<ul>\n<li>\n<p>Stw\u00f3rz szablony dla typowych typ\u00f3w diagram\u00f3w u\u017cywanych przez Tw\u00f3j zesp\u00f3\u0142<\/p>\n<\/li>\n<li>\n<p>Ustal konwencje nazewnictwa i wytyczne stylu<\/p>\n<\/li>\n<li>\n<p>Zintegruj przegl\u0105dy diagram\u00f3w z procesem przegl\u0105du kodu<\/p>\n<\/li>\n<li>\n<p>Dokumentuj sw\u00f3j przep\u0142yw pracy \u201eDiagram jako kod\u201d<\/p>\n<\/li>\n<\/ul>\n<p><strong>Miesi\u0105c 2: Skalowanie i automatyzacja<\/strong><\/p>\n<ul>\n<li>\n<p>Skonfiguruj integracj\u0119 CI\/CD do automatycznej generacji diagram\u00f3w<\/p>\n<\/li>\n<li>\n<p>Stw\u00f3rz bibliotek\u0119 diagram\u00f3w dla swojej organizacji<\/p>\n<\/li>\n<li>\n<p>Przeszkol cz\u0142onk\u00f3w zespo\u0142u w zakresie przep\u0142ywu pracy<\/p>\n<\/li>\n<li>\n<p>Mierz zaoszcz\u0119dzony czas i popraw\u0119 jako\u015bci dokumentacji<\/p>\n<\/li>\n<\/ul>\n<p><strong>Miesi\u0105c 3+: Uczynienie tego kultur\u0105<\/strong><\/p>\n<ul>\n<li>\n<p>Promuj podej\u015bcie diagram jako kod w decyzjach architektonicznych<\/p>\n<\/li>\n<li>\n<p>Dziel si\u0119 historiami sukcesu z kierownictwem<\/p>\n<\/li>\n<li>\n<p>Przeka\u017c szablony z powrotem do spo\u0142eczno\u015bci<\/p>\n<\/li>\n<li>\n<p>Zbadaj zaawansowane funkcje, takie jak generowanie diagram\u00f3w wspomagane przez AI<\/p>\n<\/li>\n<\/ul>\n<h3>Przewaga konkurencyjna<\/h3>\n<p>Organizacje, kt\u00f3re opanuj\u0105 podej\u015bcie Diagram jako kod, zyskuj\u0105 znacz\u0105ce przewagi:<br \/>\n\u2705\u00a0<strong>Szybsze podejmowanie decyzji<\/strong>: Jasne wizualizacje przyspieszaj\u0105 zrozumienie i zgodno\u015b\u0107<br \/>\n\u2705\u00a0<strong>Skr\u00f3cony czas wdra\u017cania<\/strong>: Nowi in\u017cynierowie szybciej rozumiej\u0105 systemy dzi\u0119ki wykonywalnej dokumentacji<br \/>\n\u2705\u00a0<strong>Lepsza komunikacja z interesariuszami<\/strong>: Profesjonalne diagramy \u0142\u0105cz\u0105 perspektywy techniczne i biznesowe<br \/>\n\u2705\u00a0<strong>Mniejsze obci\u0105\u017cenie utrzymaniowe<\/strong>: Aktualizacja tekstu jest szybsza ni\u017c przepisywanie wizualizacji<br \/>\n\u2705\u00a0<strong>Ulepszona jako\u015b\u0107 kodu<\/strong>: Proces tworzenia diagram\u00f3w ujawnia problemy architektoniczne na wczesnym etapie<\/p>\n<h3>Do\u0142\u0105cz do ruchu<\/h3>\n<p>Teraz jeste\u015b cz\u0119\u015bci\u0105 rozwijaj\u0105cej si\u0119 spo\u0142eczno\u015bci programist\u00f3w, architekt\u00f3w i zespo\u0142\u00f3w, kt\u00f3rzy rozumiej\u0105, \u017ce dokumentacja nie musi by\u0107 obci\u0105\u017ceniem. Dzi\u0119ki VPasCode masz narz\u0119dzia, aby uczyni\u0107 j\u0105 atutem \u2013 \u017cyw\u0105, oddychaj\u0105c\u0105 reprezentacj\u0105 Twojego systemu, kt\u00f3ra ewoluuje wraz z Twoim kodem.<\/p>\n<h3>Ostateczne przemy\u015blenie<\/h3>\n<p>Najlepszy czas na rozpocz\u0119cie traktowania diagram\u00f3w jako kodu by\u0142 wczoraj. Drugi najlepszy czas to teraz.<br \/>\nTwoja przysz\u0142a wersja siebie \u2013 oraz Twoi przyszli koledzy z zespo\u0142u \u2013 podzi\u0119kuj\u0105 Ci za jasno\u015b\u0107, sp\u00f3jno\u015b\u0107 i pewno\u015b\u0107, kt\u00f3re wynikaj\u0105 z dokumentacji, kt\u00f3ra jest zawsze aktualna, zawsze dost\u0119pna i zawsze dok\u0142adna.<br \/>\n<strong>Gotowy do rozpocz\u0119cia?<\/strong>\u00a0Odwied\u017a\u00a0<a href=\"https:\/\/www.vpascode.com\/editor\/\">VPasCode<\/a>\u00a0teraz, wklej sw\u00f3j pierwszy kod diagramu i obserwuj, jak tekst przekszta\u0142ca si\u0119 w jasno\u015b\u0107. W czasie kr\u00f3tszym ni\u017c ten potrzebny do przeczytania tego zako\u0144czenia, stworzysz sw\u00f3j pierwszy artefakt Diagram-as-Code.<br \/>\nPrzysz\u0142o\u015b\u0107 dokumentacji technicznej jest ju\u017c tutaj. Jest sterowana kodem, oparta na przegl\u0105darce i ca\u0142kowicie darmowa. Witaj w rewolucji.<\/p>\n<hr\/>\n<p><strong>O tym samouczku<\/strong><br \/>\n<em>Ten kompleksowy przewodnik zosta\u0142 stworzony, aby pom\u00f3c zespo\u0142om deweloperskim zmodernizowa\u0107 praktyki dokumentacji poprzez Diagram-as-Code. Zbudowany na podstawie dwudziestoletniego do\u015bwiadczenia Visual Paradigm w dziedzinie architektury przedsi\u0119biorstw, VPasCode reprezentuje przysz\u0142o\u015b\u0107 komunikacji technicznej \u2013 dost\u0119pn\u0105, \u0142atw\u0105 w utrzymaniu i darmow\u0105.<\/em><br \/>\n<em>Ostatnia aktualizacja: czerwiec 2026<\/em><br \/>\n<em>Grupa docelowa: programi\u015bci oprogramowania, architekci system\u00f3w, in\u017cynierowie DevOps, pisarze techniczni i zespo\u0142y deweloperskie<\/em><br \/>\n<em>Wymagania wst\u0119pne: Podstawowa znajomo\u015b\u0107 koncepcji architektury oprogramowania<\/em><br \/>\n<em>Szacowany czas uko\u0144czenia: 2-3 godziny dla pe\u0142nego samouczka, 15 minut dla szybkiego startu<\/em><\/p>\n<hr\/>\n<p class=\"\"><strong>Weso\u0142ego tworzenia diagram\u00f3w! \ud83c\udfa8\ud83d\udcca<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wst\u0119p: Rewolucja w dokumentacji zaczyna si\u0119 tutaj W dynamicznym \u015bwiecie rozwoju oprogramowania wszyscy musimy zmierzy\u0107 si\u0119 z niekomfortow\u0105 prawd\u0105:nasza dokumentacja jest prawie zawsze przestarza\u0142aSp\u0119dzili\u015bmy bezlik godzin, walcz\u0105c z narz\u0119dziami do&hellip;<\/p>\n","protected":false},"author":2,"featured_media":4266,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","fifu_image_url":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png","fifu_image_alt":"","footnotes":""},"categories":[118],"tags":[],"class_list":["post-4265","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vpascode"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Opanowanie diagram\u00f3w jako kodu: Kompleksowy przewodnik VPasCode dla nowoczesnych zespo\u0142\u00f3w deweloperskich - Go 2 Posts Polish | Breaking Digital News &amp; Software Trends<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Opanowanie diagram\u00f3w jako kodu: Kompleksowy przewodnik VPasCode dla nowoczesnych zespo\u0142\u00f3w deweloperskich - Go 2 Posts Polish | Breaking Digital News &amp; Software Trends\" \/>\n<meta property=\"og:description\" content=\"Wst\u0119p: Rewolucja w dokumentacji zaczyna si\u0119 tutaj W dynamicznym \u015bwiecie rozwoju oprogramowania wszyscy musimy zmierzy\u0107 si\u0119 z niekomfortow\u0105 prawd\u0105:nasza dokumentacja jest prawie zawsze przestarza\u0142aSp\u0119dzili\u015bmy bezlik godzin, walcz\u0105c z narz\u0119dziami do&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\" \/>\n<meta property=\"og:site_name\" content=\"Go 2 Posts Polish | Breaking Digital News &amp; Software Trends\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-02T08:13:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-09T12:59:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png\" \/><meta property=\"og:image\" content=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png\" \/>\n\t<meta property=\"og:image:width\" content=\"909\" \/>\n\t<meta property=\"og:image:height\" content=\"504\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"curtis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"curtis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\"},\"author\":{\"name\":\"curtis\",\"@id\":\"https:\/\/www.go2posts.com\/pl\/#\/schema\/person\/7d2ba976d99a3712085fad7b38500b83\"},\"headline\":\"Opanowanie diagram\u00f3w jako kodu: Kompleksowy przewodnik VPasCode dla nowoczesnych zespo\u0142\u00f3w deweloperskich\",\"datePublished\":\"2026-06-02T08:13:49+00:00\",\"dateModified\":\"2026-09-09T12:59:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\"},\"wordCount\":2324,\"publisher\":{\"@id\":\"https:\/\/www.go2posts.com\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.go2posts.com\/pl\/wp-content\/uploads\/sites\/23\/2026\/06\/img_6a1e86c394c18.png\",\"articleSection\":[\"VPasCode\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\",\"url\":\"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\",\"name\":\"Opanowanie diagram\u00f3w jako kodu: Kompleksowy przewodnik VPasCode dla nowoczesnych zespo\u0142\u00f3w deweloperskich - Go 2 Posts Polish | Breaking Digital News &amp; Software Trends\",\"isPartOf\":{\"@id\":\"https:\/\/www.go2posts.com\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.go2posts.com\/pl\/wp-content\/uploads\/sites\/23\/2026\/06\/img_6a1e86c394c18.png\",\"datePublished\":\"2026-06-02T08:13:49+00:00\",\"dateModified\":\"2026-09-09T12:59:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage\",\"url\":\"https:\/\/www.go2posts.com\/pl\/wp-content\/uploads\/sites\/23\/2026\/06\/img_6a1e86c394c18.png\",\"contentUrl\":\"https:\/\/www.go2posts.com\/pl\/wp-content\/uploads\/sites\/23\/2026\/06\/img_6a1e86c394c18.png\",\"width\":909,\"height\":504},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.go2posts.com\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Opanowanie diagram\u00f3w jako kodu: Kompleksowy przewodnik VPasCode dla nowoczesnych zespo\u0142\u00f3w deweloperskich\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.go2posts.com\/pl\/#website\",\"url\":\"https:\/\/www.go2posts.com\/pl\/\",\"name\":\"Go 2 Posts Polish | Breaking Digital News &amp; Software Trends\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.go2posts.com\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.go2posts.com\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.go2posts.com\/pl\/#organization\",\"name\":\"Go 2 Posts Polish | Breaking Digital News &amp; Software Trends\",\"url\":\"https:\/\/www.go2posts.com\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/www.go2posts.com\/pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.go2posts.com\/pl\/wp-content\/uploads\/sites\/23\/2025\/01\/logo.png\",\"contentUrl\":\"https:\/\/www.go2posts.com\/pl\/wp-content\/uploads\/sites\/23\/2025\/01\/logo.png\",\"width\":341,\"height\":46,\"caption\":\"Go 2 Posts Polish | Breaking Digital News &amp; Software Trends\"},\"image\":{\"@id\":\"https:\/\/www.go2posts.com\/pl\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.go2posts.com\/pl\/#\/schema\/person\/7d2ba976d99a3712085fad7b38500b83\",\"name\":\"curtis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/www.go2posts.com\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"caption\":\"curtis\"},\"url\":\"https:\/\/www.go2posts.com\/pl\/author\/curtis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Opanowanie diagram\u00f3w jako kodu: Kompleksowy przewodnik VPasCode dla nowoczesnych zespo\u0142\u00f3w deweloperskich - Go 2 Posts Polish | Breaking Digital News &amp; Software Trends","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:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/","og_locale":"pl_PL","og_type":"article","og_title":"Opanowanie diagram\u00f3w jako kodu: Kompleksowy przewodnik VPasCode dla nowoczesnych zespo\u0142\u00f3w deweloperskich - Go 2 Posts Polish | Breaking Digital News &amp; Software Trends","og_description":"Wst\u0119p: Rewolucja w dokumentacji zaczyna si\u0119 tutaj W dynamicznym \u015bwiecie rozwoju oprogramowania wszyscy musimy zmierzy\u0107 si\u0119 z niekomfortow\u0105 prawd\u0105:nasza dokumentacja jest prawie zawsze przestarza\u0142aSp\u0119dzili\u015bmy bezlik godzin, walcz\u0105c z narz\u0119dziami do&hellip;","og_url":"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/","og_site_name":"Go 2 Posts Polish | Breaking Digital News &amp; Software Trends","article_published_time":"2026-06-02T08:13:49+00:00","article_modified_time":"2026-09-09T12:59:33+00:00","og_image":[{"url":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png","type":"","width":"","height":""},{"width":909,"height":504,"url":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png","type":"image\/png"}],"author":"curtis","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png","twitter_misc":{"Napisane przez":"curtis","Szacowany czas czytania":"12 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#article","isPartOf":{"@id":"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/"},"author":{"name":"curtis","@id":"https:\/\/www.go2posts.com\/pl\/#\/schema\/person\/7d2ba976d99a3712085fad7b38500b83"},"headline":"Opanowanie diagram\u00f3w jako kodu: Kompleksowy przewodnik VPasCode dla nowoczesnych zespo\u0142\u00f3w deweloperskich","datePublished":"2026-06-02T08:13:49+00:00","dateModified":"2026-09-09T12:59:33+00:00","mainEntityOfPage":{"@id":"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/"},"wordCount":2324,"publisher":{"@id":"https:\/\/www.go2posts.com\/pl\/#organization"},"image":{"@id":"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage"},"thumbnailUrl":"https:\/\/www.go2posts.com\/pl\/wp-content\/uploads\/sites\/23\/2026\/06\/img_6a1e86c394c18.png","articleSection":["VPasCode"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/","url":"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/","name":"Opanowanie diagram\u00f3w jako kodu: Kompleksowy przewodnik VPasCode dla nowoczesnych zespo\u0142\u00f3w deweloperskich - Go 2 Posts Polish | Breaking Digital News &amp; Software Trends","isPartOf":{"@id":"https:\/\/www.go2posts.com\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage"},"image":{"@id":"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage"},"thumbnailUrl":"https:\/\/www.go2posts.com\/pl\/wp-content\/uploads\/sites\/23\/2026\/06\/img_6a1e86c394c18.png","datePublished":"2026-06-02T08:13:49+00:00","dateModified":"2026-09-09T12:59:33+00:00","breadcrumb":{"@id":"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage","url":"https:\/\/www.go2posts.com\/pl\/wp-content\/uploads\/sites\/23\/2026\/06\/img_6a1e86c394c18.png","contentUrl":"https:\/\/www.go2posts.com\/pl\/wp-content\/uploads\/sites\/23\/2026\/06\/img_6a1e86c394c18.png","width":909,"height":504},{"@type":"BreadcrumbList","@id":"https:\/\/www.go2posts.com\/pl\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.go2posts.com\/pl\/"},{"@type":"ListItem","position":2,"name":"Opanowanie diagram\u00f3w jako kodu: Kompleksowy przewodnik VPasCode dla nowoczesnych zespo\u0142\u00f3w deweloperskich"}]},{"@type":"WebSite","@id":"https:\/\/www.go2posts.com\/pl\/#website","url":"https:\/\/www.go2posts.com\/pl\/","name":"Go 2 Posts Polish | Breaking Digital News &amp; Software Trends","description":"","publisher":{"@id":"https:\/\/www.go2posts.com\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.go2posts.com\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/www.go2posts.com\/pl\/#organization","name":"Go 2 Posts Polish | Breaking Digital News &amp; Software Trends","url":"https:\/\/www.go2posts.com\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.go2posts.com\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/www.go2posts.com\/pl\/wp-content\/uploads\/sites\/23\/2025\/01\/logo.png","contentUrl":"https:\/\/www.go2posts.com\/pl\/wp-content\/uploads\/sites\/23\/2025\/01\/logo.png","width":341,"height":46,"caption":"Go 2 Posts Polish | Breaking Digital News &amp; Software Trends"},"image":{"@id":"https:\/\/www.go2posts.com\/pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.go2posts.com\/pl\/#\/schema\/person\/7d2ba976d99a3712085fad7b38500b83","name":"curtis","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.go2posts.com\/pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","caption":"curtis"},"url":"https:\/\/www.go2posts.com\/pl\/author\/curtis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.go2posts.com\/pl\/wp-json\/wp\/v2\/posts\/4265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.go2posts.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.go2posts.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.go2posts.com\/pl\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.go2posts.com\/pl\/wp-json\/wp\/v2\/comments?post=4265"}],"version-history":[{"count":0,"href":"https:\/\/www.go2posts.com\/pl\/wp-json\/wp\/v2\/posts\/4265\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.go2posts.com\/pl\/wp-json\/wp\/v2\/media\/4266"}],"wp:attachment":[{"href":"https:\/\/www.go2posts.com\/pl\/wp-json\/wp\/v2\/media?parent=4265"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.go2posts.com\/pl\/wp-json\/wp\/v2\/categories?post=4265"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.go2posts.com\/pl\/wp-json\/wp\/v2\/tags?post=4265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}