{"id":11704,"date":"2026-07-15T11:18:16","date_gmt":"2026-07-15T03:18:16","guid":{"rendered":"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/"},"modified":"2026-07-26T18:39:57","modified_gmt":"2026-07-26T10:39:57","slug":"from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model","status":"publish","type":"post","link":"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/","title":{"rendered":"Od du\u017cego obrazu do kodu: Przewodnik dla pocz\u0105tkuj\u0105cych w wizualizacji architektury oprogramowania za pomoc\u0105 modelu C4"},"content":{"rendered":"<h2 data-nodeid=\"77087\">Wprowadzenie<\/h2>\n<p data-nodeid=\"77088\">Dokumentacja architektury oprogramowania cz\u0119sto wydaje si\u0119 przesadnie skomplikowana. Programi\u015bci albo tworz\u0105 nadmiernie skomplikowane schematy, kt\u00f3re nikt nie rozumie, albo ca\u0142kowicie pomijaj\u0105 dokumentacj\u0119, zostawiaj\u0105c zespo\u0142y zagubione w labiryncie kodu.<\/p>\n<p data-nodeid=\"77089\">Wprowad\u017amy\u00a0<strong data-nodeid=\"77342\">model C4<\/strong>\u2014prosty, hierarchiczny spos\u00f3b wizualizacji architektury oprogramowania stworzony przez Simona Browna. Mo\u017cna go por\u00f3wna\u0107 do Google Maps dla Twojego oprogramowania: zaczynasz od widoku ca\u0142ego \u015bwiata i stopniowo przybli\u017casz, a\u017c dojdziesz do szczeg\u00f3\u0142\u00f3w, takich jak pojedyncze ulice i budynki.<\/p>\n<p><img alt=\"VPasCode Editor: C4 Model - Hierarchical Drill-Down Software Architecture Framework\" class=\"alignnone\" decoding=\"async\" height=\"768\" loading=\"lazy\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/bananaagsiCmdnbG9iYWw6OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAwZWI6MTo1ZjIyMzE5ODBmZDhlNTE4OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAyZWIyODIwMzM2ODowMDA2NTY5ZDg1NDRlZjRmEAIYASIJaW1hZ2UvcG5n.png\" width=\"1408\"\/><\/p>\n<p id=\"JQKCGlL\">Ten samouczek prowadzi Ci\u0119 przez wszystkie cztery poziomy modelu C4 z praktycznymi przyk\u0142adami, fragmentami kodu PlantUML oraz wskaz\u00f3wkami dotycz\u0105cymi u\u017cywania nowoczesnych narz\u0119dzi, takich jak Visual Paradigm, do tworzenia profesjonalnych schemat\u00f3w architektury, kt\u00f3re naprawd\u0119 pomagaj\u0105 Twojemu zespo\u0142owi.<\/p>\n<hr data-nodeid=\"77091\"\/>\n<h2 data-nodeid=\"77092\">\ud83c\udfaf Zrozumienie modelu C4 na przyk\u0142adzie z \u017cycia<\/h2>\n<p data-nodeid=\"77093\">Zbudujmy dokumentacj\u0119 dla\u00a0<strong data-nodeid=\"77356\">\u201ePayQuick\u201d<\/strong>\u2014nowoczesnej platformy p\u0142atno\u015bci internetowych, kt\u00f3ra pozwala u\u017cytkownikom wysy\u0142a\u0107 pieni\u0105dze, p\u0142aci\u0107 rachunki i zarz\u0105dza\u0107 kartami. Stworzymy schematy dla ka\u017cdego poziomu modelu C4.<\/p>\n<hr data-nodeid=\"77094\"\/>\n<h2 data-nodeid=\"77095\">\ud83d\uddfa\ufe0f Poziom 1: Schemat kontekstu systemu<\/h2>\n<h3 data-nodeid=\"77096\">Co pokazuje<\/h3>\n<p data-nodeid=\"77097\">Widok z wysoko\u015bci 30 000 st\u00f3p Twojego systemu w jego \u015brodowisku.<\/p>\n<h3 data-nodeid=\"77098\">Przyk\u0142ad PayQuick<\/h3>\n<p data-nodeid=\"77099\"><strong data-nodeid=\"77364\">Uczestnicy:<\/strong><\/p>\n<ul data-nodeid=\"77100\">\n<li data-nodeid=\"77101\">\n<p data-nodeid=\"77102\">Osoba prywatna<\/p>\n<\/li>\n<li data-nodeid=\"77103\">\n<p data-nodeid=\"77104\">Sprzedawca<\/p>\n<\/li>\n<li data-nodeid=\"77105\">\n<p data-nodeid=\"77106\">Systemy bankowe<\/p>\n<\/li>\n<li data-nodeid=\"77107\">\n<p data-nodeid=\"77108\">Brama SMS<\/p>\n<\/li>\n<\/ul>\n<p data-nodeid=\"77109\"><strong data-nodeid=\"77372\">Zwi\u0105zki:<\/strong><\/p>\n<ul data-nodeid=\"77110\">\n<li data-nodeid=\"77111\">\n<p data-nodeid=\"77112\">Klienci wysy\u0142aj\u0105 pieni\u0105dze<\/p>\n<\/li>\n<li data-nodeid=\"77113\">\n<p data-nodeid=\"77114\">Sprzedawcy otrzymuj\u0105 p\u0142atno\u015bci<\/p>\n<\/li>\n<li data-nodeid=\"77115\">\n<p data-nodeid=\"77116\">System integruje si\u0119 z zewn\u0119trznymi bankami<\/p>\n<\/li>\n<li data-nodeid=\"77117\">\n<p data-nodeid=\"77118\">System wysy\u0142a powiadomienia SMS<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"77119\">Kod C4-PlantUML<\/h3>\n<p id=\"ABisjGM\"><img alt=\"\" class=\"alignnone size-full wp-image-25290\" decoding=\"async\" height=\"867\" loading=\"lazy\" sizes=\"auto, (max-width: 1918px) 100vw, 1918px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fcaecd99c.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fcaecd99c.png 1918w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fcaecd99c-300x136.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fcaecd99c-1030x466.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fcaecd99c-768x347.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fcaecd99c-1536x694.png 1536w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fcaecd99c-150x68.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fcaecd99c-400x181.png 400w\" width=\"1918\"\/><\/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\/#plantuml:XPFRRjf048RlaNY7AQeg8d6uwLMbIaa8IY91uWQZgbVMiWomoXxSdJN4glhkdRKv696eNDdZ-R-P-MUufY1yA8nkjpufAtMnHDY4aDEtuT2BtM2jmgPO58HUEXlGXe5qPfXhOQEeJs6frM8u-jfFOcW-dGoDe82UGzc85K9Pz8EyAj1k1HKqGYBA7uMIhz27MSd91c8clWMuKsBjXOcf2NfojYiB2iwWxq6dZWWDetsimy4v8K7O88WyX-20q2x1E8ib27xAHGaBfJLrhev8LieDDylgwVunacwan3nGb1YUas3bdO53_GhGRjNzPhUki4lXooud_uwZnFOEKx4JOUMywLp1dtOB-5UhZiaPLUyDJLLVQxUZKy4uZH6lU6ee3XIyiBJQz_EtqTBuBNGNmZRWj_ocx1gUCEoShseatacaQ9bYmtq_2Xh87dmEOatVExmBz6nrBDBWaw5iBGBkHCcmTAUqSZ2RpY9wniPJpH8oA6V1kg1MIehuydys6g5qndUsLHBtl7klbYTsbG4U9IhUq_l0Tki5TUDeBYslMTM5L9-fleyUR1NkpWQeB8wuqy5SubvYEriydKqF55710OyhFf8Zv49wlgpJPexhu8v4THZ9uuUGyutKipsd2NmvT_-0UaZJPFOXxBqLqD7m0sCsJPFQwidDh-TvclryJ1-ooVX-_7JNvVWrg_Zl_Wy0\" 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\/#plantuml:XLHDRzD04Br7odzO8Wwfb3GNJaX8BQLgAxN4O5SLNAp9UaasNk-QtJ5Rk-A2XFWDY9_1bHlj_sBM-Uw7oCaPpxmtRzwJ3no2nQfGtSupgRcgCi5cYALxEHfPyFjJYRDgKZbXkT4eDEvpKunA1JeC3HrcIav6Ho-6KIXTNfoF2d0eB9NI8ve0gONTBrk2RWSbAi4YgDzLakTio68-4mKWomDuxh1YhgRneWhTaR3Ew3wl79f2s07hZPsP02jjxG4rzAXoUVU7_Z0ebSo1poNB3FErg---WPRKAeMMjp-pfcQIbLH4RUv-SSaiy5cbyx-_VMzlpKGaV4Oo23SkRICoyBnbYMnJpujgBdOmJCPoHGIuHEbsudRvzBMfT0QsxfTGVmvA0uG2_6Hi0MlvlJrsq-qm-Yt6rjtfuWPXQDLApnz5uq71aj8KJ0E9fSEHVYrtDoEjjBuIVhdPrwtbZg-nFm6znH9BSVk3XPhnAxa2FTW6LZWrAnPdN7G9wdgEC7MlUkAQtDQW0iqMWojSEWKK7ce2JBnKqh3u8WxmLmj_M6cyXCmKmIDWXg45xI3dS_BclmGK6wbIokKNoKKG8NHsOcMsIu1U2firBO4OXf77WRkTzq9j9UsX5MlCDb7V2NFGddoJ9JbehpLLz1OsOaJ03-YRT3r47oCbx7x01fJa3AZMU6kmNk4ycDvryp7pmaCJBdCOdJq9islPIczEAHydKOZKZbrhoDCaYU8dGU_RzBWrQx3u8eaMVfmVVXXV9kdLMNAQdX-V7BzzqwVw0RbCtv9_\" \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\" data-nodeid=\"77120\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n!include https:\/\/raw.githubusercontent.com\/plantuml-stdlib\/C4-PlantUML\/master\/C4_Container.puml\r\n\r\ntitle PayQuick - Schemat kontekstu systemu\r\n\r\nPerson(customer, \"Osoba prywatna\", \"U\u017cywa aplikacji do wysy\u0142ania pieni\u0119dzy i p\u0142atno\u015bci rachunk\u00f3w\")\r\nPerson(merchant, \"Sprzedawca\", \"Przyjmuje p\u0142atno\u015bci od klient\u00f3w\")\r\n\r\nSystem_Boundary(payquick, \"Platforma PayQuick\") {\r\n    System(payquick_system, \"PayQuick\", \"Zezwala klientom na dokonywanie p\u0142atno\u015bci i przelew\u00f3w\")\r\n}\r\n\r\nSystem_Ext(bank_system, \"Sie\u0107 bankowa\", \"Przetwarza przelewy mi\u0119dzybankowe\", $tags=\"external\")\r\nSystem_Ext(sms_gateway, \"Twilio SMS\", \"Wysy\u0142a powiadomienia o transakcjach\", $tags=\"external\")\r\nSystem_Ext(email_service, \"SendGrid\", \"Wysy\u0142a potwierdzenia e-mail\", $tags=\"external\")\r\n\r\nRel(customer, payquick_system, \"Wysy\u0142a pieni\u0105dze, p\u0142aci rachunki, przegl\u0105da transakcje\")\r\nRel(merchant, payquick_system, \"Otrzymuje p\u0142atno\u015bci, wydaje zwroty\")\r\nRel(payquick_system, bank_system, \"Przetwarza przelewy przez\", \"API\")\r\nRel(payquick_system, sms_gateway, \"Wysy\u0142a kod OTP i powiadomienia przez\", \"HTTPS\")\r\nRel(payquick_system, email_service, \"Wysy\u0142a potwierdzenia przez\", \"SMTP\")\r\n\r\nLAYOUT_WITH_LEGEND()\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:XLHDRzD04Br7odzO8Wwfb3GNJaX8BQLgAxN4O5SLNAp9UaasNk-QtJ5Rk-A2XFWDY9_1bHlj_sBM-Uw7oCaPpxmtRzwJ3no2nQfGtSupgRcgCi5cYALxEHfPyFjJYRDgKZbXkT4eDEvpKunA1JeC3HrcIav6Ho-6KIXTNfoF2d0eB9NI8ve0gONTBrk2RWSbAi4YgDzLakTio68-4mKWomDuxh1YhgRneWhTaR3Ew3wl79f2s07hZPsP02jjxG4rzAXoUVU7_Z0ebSo1poNB3FErg---WPRKAeMMjp-pfcQIbLH4RUv-SSaiy5cbyx-_VMzlpKGaV4Oo23SkRICoyBnbYMnJpujgBdOmJCPoHGIuHEbsudRvzBMfT0QsxfTGVmvA0uG2_6Hi0MlvlJrsq-qm-Yt6rjtfuWPXQDLApnz5uq71aj8KJ0E9fSEHVYrtDoEjjBuIVhdPrwtbZg-nFm6znH9BSVk3XPhnAxa2FTW6LZWrAnPdN7G9wdgEC7MlUkAQtDQW0iqMWojSEWKK7ce2JBnKqh3u8WxmLmj_M6cyXCmKmIDWXg45xI3dS_BclmGK6wbIokKNoKKG8NHsOcMsIu1U2firBO4OXf77WRkTzq9j9UsX5MlCDb7V2NFGddoJ9JbehpLLz1OsOaJ03-YRT3r47oCbx7x01fJa3AZMU6kmNk4ycDvryp7pmaCJBdCOdJq9islPIczEAHydKOZKZbrhoDCaYU8dGU_RzBWrQx3u8eaMVfmVVXXV9kdLMNAQdX-V7BzzqwVw0RbCtv9_\" \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\/#plantuml:XPFRRjf048RlaNY7AQeg8d6uwLMbIaa8IY91uWQZgbVMiWomoXxSdJN4glhkdRKv696eNDdZ-R-P-MUufY1yA8nkjpufAtMnHDY4aDEtuT2BtM2jmgPO58HUEXlGXe5qPfXhOQEeJs6frM8u-jfFOcW-dGoDe82UGzc85K9Pz8EyAj1k1HKqGYBA7uMIhz27MSd91c8clWMuKsBjXOcf2NfojYiB2iwWxq6dZWWDetsimy4v8K7O88WyX-20q2x1E8ib27xAHGaBfJLrhev8LieDDylgwVunacwan3nGb1YUas3bdO53_GhGRjNzPhUki4lXooud_uwZnFOEKx4JOUMywLp1dtOB-5UhZiaPLUyDJLLVQxUZKy4uZH6lU6ee3XIyiBJQz_EtqTBuBNGNmZRWj_ocx1gUCEoShseatacaQ9bYmtq_2Xh87dmEOatVExmBz6nrBDBWaw5iBGBkHCcmTAUqSZ2RpY9wniPJpH8oA6V1kg1MIehuydys6g5qndUsLHBtl7klbYTsbG4U9IhUq_l0Tki5TUDeBYslMTM5L9-fleyUR1NkpWQeB8wuqy5SubvYEriydKqF55710OyhFf8Zv49wlgpJPexhu8v4THZ9uuUGyutKipsd2NmvT_-0UaZJPFOXxBqLqD7m0sCsJPFQwidDh-TvclryJ1-ooVX-_7JNvVWrg_Zl_Wy0\" 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 data-nodeid=\"77121\">Porada Visual Paradigm<\/h3>\n<p data-nodeid=\"77122\">W Visual Paradigm u\u017cyj\u00a0<strong data-nodeid=\"77389\">Asystent AI<\/strong>\u00a0aby wygenerowa\u0107 pocz\u0105tkowe diagramy kontekstu systemu, opisuj\u0105c sw\u00f3j system j\u0119zykiem naturalnym:\u00a0<em data-nodeid=\"77390\">\u201eUtw\u00f3rz diagram kontekstu systemu dla platformy p\u0142atno\u015bci z klientami, sprzedawcami i integracjami z bankami.\u201d<\/em><\/p>\n<hr data-nodeid=\"77123\"\/>\n<h2 data-nodeid=\"77124\">\ud83d\udce6 Poziom 2: Diagram kontener\u00f3w<\/h2>\n<h3 data-nodeid=\"77125\">Co pokazuje<\/h3>\n<p data-nodeid=\"77126\">G\u0142\u00f3wne wybory technologiczne oraz spos\u00f3b ich wzajemnego dzia\u0142ania.<\/p>\n<h3 data-nodeid=\"77127\">Przyk\u0142ad PayQuick<\/h3>\n<p data-nodeid=\"77128\"><strong data-nodeid=\"77398\">Kontenery:<\/strong><\/p>\n<ul data-nodeid=\"77129\">\n<li data-nodeid=\"77130\">\n<p data-nodeid=\"77131\">Aplikacja mobilna (iOS\/Android)<\/p>\n<\/li>\n<li data-nodeid=\"77132\">\n<p data-nodeid=\"77133\">Aplikacja internetowa (React)<\/p>\n<\/li>\n<li data-nodeid=\"77134\">\n<p data-nodeid=\"77135\">Aplikacja API (Spring Boot)<\/p>\n<\/li>\n<li data-nodeid=\"77136\">\n<p data-nodeid=\"77137\">Baza danych (PostgreSQL)<\/p>\n<\/li>\n<li data-nodeid=\"77138\">\n<p data-nodeid=\"77139\">Kolejka komunikat\u00f3w (RabbitMQ)<\/p>\n<\/li>\n<li data-nodeid=\"77140\">\n<p data-nodeid=\"77141\">Pami\u0119\u0107 podr\u0119czna (Redis)<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"77142\">Kod C4-PlantUML<\/h3>\n<p id=\"byhCqZP\"><img alt=\"\" class=\"alignnone size-full wp-image-25293\" decoding=\"async\" height=\"1170\" loading=\"lazy\" sizes=\"auto, (max-width: 1163px) 100vw, 1163px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fd6876068.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fd6876068.png 1163w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fd6876068-298x300.png 298w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fd6876068-1024x1030.png 1024w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fd6876068-80x80.png 80w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fd6876068-768x773.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fd6876068-150x150.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fd6876068-400x402.png 400w\" width=\"1163\"\/><\/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\/#plantuml:dLLDJnin4BqZvJ-ud58f99UUUe84-e48tMI3UenclKxYuhKNsvkmglZldV5-P1T2AvK36CVptfkPDvDBvy7w8bE3imzISrMaWksypztdoSJ2ORoLVbSaXHEM6-s5zcDkiackG5FGXVEfaibazkaYegk7-Tqa0-U5nQlr32D0Qc77UI0Od7dfbM0Hb8j2yaTsmTedx5h2ra96ho9XdT53NZXlCc57x7nM7y_n_E24OtudM6OIYMYGvynOTX09awZGRe2Byuyj2aRn7Kh3o7bzxA5GN0fkbnYmASKDpk8ICyZMKrFe56mvpA5y8hqOrah7TFt6sEpy8_izE6FuqwOoh8IjKHYHLYglyfnebmAuP_VWvLwCsAhCHSojp8Eao9gzJ54MLVkO2qCQrjJ2aS8-6oPGK_t4L917IOxuHhTyxn91cadDGAUigLA_54JqYkvO5SWbObr5ttkSRJdw8l7nUWjU7A2iWxvM_v6UUvEAyIytOZVFkHNEqTqtLALGeZM5btexOb1WjxIlUKRCOZnJCfFqSIEsJufzop1aZUNSIowgzj4DYwiR8efpYm1iQWpMwHRsK5U8en3ahp5Sg9AteDscquK-dpPURcg17TBxpdMNEIhzZZBvWWE35GbYX4uTY-Tne1CPICMwg2tnoydcN2V353mau8ZtkZu6BkFyrefuSHTelB6Dpu1pxAZ7weViq2x4Cme24i2XnaAyCHqISU0xOfdHtyfggNGTTAoUeun9KK3RMF5KO2rLIQHKtfHPmOrDtn8i2b68uHFz3eFh76m52xU12v94-lcYwnHmfUQzQh6yQcDja9VERDyy-s42-d5TkNYAHt91tGRyL5WDYj6JC8cucYfxzn1SvjPvDKoqfLO7gQG9xIEWi4kMGdKMMMypq0eA2QnMKKolwUrnNHtd-lJ33bH_kkRmYEMW6UEW56uvqmPFRkCVzmr2I_1_uRsejwEsnC6b-QMUEz_0R9VHx2J0ExFpRvGtp9q9mEsNkid1Ii88FgpYRw-dxyVtZErQrrRnKhTMPxWalE56DKYdKsWy71M9aeuGnJuib4hArNmH_HtWbScEAs8lmwvQtiIhncyd4-hu_BZNsbNMmBJckaG2_Bh-0m00\" 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\/#plantuml:fLPDRzj64BqRy7_OwgG0idNfgQTOjel6ZMtPKX2W5s6u74jBaRlCVfWXWroC1lqDGdz6hxbL-b-T9KMHjAIYG7qmfCNkUpDltXlxhR6WhKlYqvCVXEIn2v4jh4tDJyEXXknyBkp21SwWvafQbFQSgsIOnY3zepDZmrW4myiVpyR-wCFj-s42ngAcezablG0XKP-d9S7fYHKsHZQ6_C49lcHdx4h0N4F2bYKuwh__olozCMgZP9yxOrM2Ui1wlyQ2o7lqwSFcUvu1WpGMI-2HO8aAH2mnOh4Bc20S_OIHSTL7YLPbE5UzDpjK0kGBAfQm9gakC8ICGmivTN4gx87tfoUJd7fBPYFbP0WwxwUGV_ATq6FgtpufdS2klTuRzkNqXD7FJeX-MIlE84tfoSMs1TYsK1RnYC0jkmChdd70fdcA4wv5MhP-fVoqU05DcynHqNQfCabGB8o1BKkbI4XVSfSzms2FkkcoeJ_EMsd384o45CPgu7aaSoQOgPNCQzfNv8rea8fE1HVZTurKtOBfwcmE5ZF8wSc8d59TfoztAiJpo0pOzUTKep7-x3umcnStTn4ohPnlIGeIqMK2TP5RZANm9rIk8jT9GHtvhwR8WwNQ_Cb5NNkt2ffoGfBEA0JFWgDtIib3ScnUmChgQMKd8UTif1H9U0FFfQ9Z4iPce8lETQh1AnPZbXycbSgA9y791qeUObQPW50b0ZU_boovNIWvO3zJ-hOAVSnDJeIjgzG-cznEY1lF4X1npVpruCIkWdu85W8mddW4r408CkUBaeyiCTSuUNXVzyWNAlFA-oX3svPanG4ZgqW3InvvzGt4uPuxYOu3NtYkCIHYlLh_GQM7UhtYHHsDK9ZNT5GIJH1Dv2NbnNf5AuE5LDrwbShrD_9tcKeUhLTxb0yE7VO_-Tz-nQWO8mhHKYNEfwdCaAU5813szk6Lmy3aaY-qyZQY4jBTcBsbEkCXsg-jxN7zsVO3aCjP5OHtkoZxGqL-eCFVC9FhbTNKUPbGigkFIb7U4PXup1QSISmirUfPXEMoR23zjAUPYCLsWJrYtDggdMrKRJzF_ijqEfxu-_vsiosRxN7iQWkkczoFUQP8Dp_yNMbRbvO8mvl9_LqDi-Fv7nYTf_lvzGOY6NLbeSttzJUo4OKZL1vk_ZY-F0Xq99F_7MslabR0xaDEEueGXWMHcfstAvIRgz5nb3et8qTUzm_h7BXoK7ABb5NPKLPH9ZSlhChJ5lHmRtKsnYwWTUsX2zhX1JRjNTm-ZFyTuvKvwxNahUb3K_GwZdsydaohFmb7ccr5fxrQjykqWTnPyotAaFx_-0S0\" \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\" data-nodeid=\"77143\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n!include https:\/\/raw.githubusercontent.com\/plantuml-stdlib\/C4-PlantUML\/master\/C4_Container.puml\r\n\r\ntitle PayQuick - Diagram kontener\u00f3w\r\n\r\nPerson(customer, \"Klient\", \"U\u017cywa aplikacji mobilnej lub interfejsu internetowego\")\r\nPerson(merchant, \"Sprzedawca\", \"U\u017cywa pulpitu internetowego\")\r\n\r\nSystem_Boundary(payquick, \"Platforma PayQuick\") {\r\n    Container(mobile_app, \"Aplikacja mobilna\", \"React Native, TypeScript\", \"Dostarcza interfejs u\u017cytkownika dla klient\u00f3w\")\r\n    Container(web_app, \"Aplikacja internetowa\", \"React, TypeScript\", \"Dostarcza pulpit administracyjny i sprzedawcy\")\r\n    \r\n    Container_Boundary(api, \"Aplikacja API\") {\r\n        Container(api_gateway, \"Brama API\", \"Node.js, Express\", \"Obs\u0142uguje routowanie, uwierzytelnianie i ograniczanie szybko\u015bci\")\r\n        Container(payment_service, \"Us\u0142uga p\u0142atno\u015bci\", \"Spring Boot, Java\", \"Przetwarza p\u0142atno\u015bci i przelewy\")\r\n        Container(notification_service, \"Us\u0142uga powiadomie\u0144\", \"Python, FastAPI\", \"Wysy\u0142a powiadomienia SMS i e-mail\")\r\n    }\r\n    \r\n    ContainerDb(database, \"Baza danych\", \"PostgreSQL\", \"Przechowuje konta u\u017cytkownik\u00f3w, transakcje i sald\")\r\n    ContainerDb(cache, \"Pami\u0119\u0107 podr\u0119czna\", \"Redis\", \"Przechowuje dane sesji i cz\u0119sto dost\u0119pn\u0105 informacj\u0119\")\r\n    ContainerQueue(queue, \"Kolejka komunikat\u00f3w\", \"RabbitMQ\", \"Obs\u0142uguje asynchroniczne przetwarzanie powiadomie\u0144\")\r\n}\r\n\r\nSystem_Ext(bank_api, \"Interfejs bankowy\", \"Zewn\u0119trzna integracja z bankiem\")\r\nSystem_Ext(sms_provider, \"Interfejs SMS Twilio\")\r\n\r\nRel(customer, mobile_app, \"U\u017cywa\", \"HTTPS\")\r\nRel(merchant, web_app, \"U\u017cywa\", \"HTTPS\")\r\nRel(mobile_app, api_gateway, \"Wywo\u0142uje interfejs API\", \"HTTPS\/JSON\")\r\nRel(web_app, api_gateway, \"Wywo\u0142uje interfejs API\", \"HTTPS\/JSON\")\r\nRel(api_gateway, payment_service, \"Przekierowuje \u017c\u0105dania do\", \"gRPC\")\r\nRel(api_gateway, notification_service, \"Przekierowuje \u017c\u0105dania do\", \"gRPC\")\r\nRel(payment_service, database, \"Odczytuje\/zapisuje dane do\", \"JDBC\")\r\nRel(payment_service, cache, \"Buforuje cz\u0119sto u\u017cywane dane w\", \"Protok\u00f3\u0142 Redis\")\r\nRel(notification_service, queue, \"Publikuje zdarzenia do\", \"AMQP\")\r\nRel(notification_service, sms_provider, \"Wysy\u0142a SMS przez\", \"Interfejs REST API\")\r\nRel(payment_service, bank_api, \"Przetwarza przelewy przez\", \"HTTPS\")\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:fLPDRzj64BqRy7_OwgG0idNfgQTOjel6ZMtPKX2W5s6u74jBaRlCVfWXWroC1lqDGdz6hxbL-b-T9KMHjAIYG7qmfCNkUpDltXlxhR6WhKlYqvCVXEIn2v4jh4tDJyEXXknyBkp21SwWvafQbFQSgsIOnY3zepDZmrW4myiVpyR-wCFj-s42ngAcezablG0XKP-d9S7fYHKsHZQ6_C49lcHdx4h0N4F2bYKuwh__olozCMgZP9yxOrM2Ui1wlyQ2o7lqwSFcUvu1WpGMI-2HO8aAH2mnOh4Bc20S_OIHSTL7YLPbE5UzDpjK0kGBAfQm9gakC8ICGmivTN4gx87tfoUJd7fBPYFbP0WwxwUGV_ATq6FgtpufdS2klTuRzkNqXD7FJeX-MIlE84tfoSMs1TYsK1RnYC0jkmChdd70fdcA4wv5MhP-fVoqU05DcynHqNQfCabGB8o1BKkbI4XVSfSzms2FkkcoeJ_EMsd384o45CPgu7aaSoQOgPNCQzfNv8rea8fE1HVZTurKtOBfwcmE5ZF8wSc8d59TfoztAiJpo0pOzUTKep7-x3umcnStTn4ohPnlIGeIqMK2TP5RZANm9rIk8jT9GHtvhwR8WwNQ_Cb5NNkt2ffoGfBEA0JFWgDtIib3ScnUmChgQMKd8UTif1H9U0FFfQ9Z4iPce8lETQh1AnPZbXycbSgA9y791qeUObQPW50b0ZU_boovNIWvO3zJ-hOAVSnDJeIjgzG-cznEY1lF4X1npVpruCIkWdu85W8mddW4r408CkUBaeyiCTSuUNXVzyWNAlFA-oX3svPanG4ZgqW3InvvzGt4uPuxYOu3NtYkCIHYlLh_GQM7UhtYHHsDK9ZNT5GIJH1Dv2NbnNf5AuE5LDrwbShrD_9tcKeUhLTxb0yE7VO_-Tz-nQWO8mhHKYNEfwdCaAU5813szk6Lmy3aaY-qyZQY4jBTcBsbEkCXsg-jxN7zsVO3aCjP5OHtkoZxGqL-eCFVC9FhbTNKUPbGigkFIb7U4PXup1QSISmirUfPXEMoR23zjAUPYCLsWJrYtDggdMrKRJzF_ijqEfxu-_vsiosRxN7iQWkkczoFUQP8Dp_yNMbRbvO8mvl9_LqDi-Fv7nYTf_lvzGOY6NLbeSttzJUo4OKZL1vk_ZY-F0Xq99F_7MslabR0xaDEEueGXWMHcfstAvIRgz5nb3et8qTUzm_h7BXoK7ABb5NPKLPH9ZSlhChJ5lHmRtKsnYwWTUsX2zhX1JRjNTm-ZFyTuvKvwxNahUb3K_GwZdsydaohFmb7ccr5fxrQjykqWTnPyotAaFx_-0S0\" \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\/#plantuml:dLLDJnin4BqZvJ-ud58f99UUUe84-e48tMI3UenclKxYuhKNsvkmglZldV5-P1T2AvK36CVptfkPDvDBvy7w8bE3imzISrMaWksypztdoSJ2ORoLVbSaXHEM6-s5zcDkiackG5FGXVEfaibazkaYegk7-Tqa0-U5nQlr32D0Qc77UI0Od7dfbM0Hb8j2yaTsmTedx5h2ra96ho9XdT53NZXlCc57x7nM7y_n_E24OtudM6OIYMYGvynOTX09awZGRe2Byuyj2aRn7Kh3o7bzxA5GN0fkbnYmASKDpk8ICyZMKrFe56mvpA5y8hqOrah7TFt6sEpy8_izE6FuqwOoh8IjKHYHLYglyfnebmAuP_VWvLwCsAhCHSojp8Eao9gzJ54MLVkO2qCQrjJ2aS8-6oPGK_t4L917IOxuHhTyxn91cadDGAUigLA_54JqYkvO5SWbObr5ttkSRJdw8l7nUWjU7A2iWxvM_v6UUvEAyIytOZVFkHNEqTqtLALGeZM5btexOb1WjxIlUKRCOZnJCfFqSIEsJufzop1aZUNSIowgzj4DYwiR8efpYm1iQWpMwHRsK5U8en3ahp5Sg9AteDscquK-dpPURcg17TBxpdMNEIhzZZBvWWE35GbYX4uTY-Tne1CPICMwg2tnoydcN2V353mau8ZtkZu6BkFyrefuSHTelB6Dpu1pxAZ7weViq2x4Cme24i2XnaAyCHqISU0xOfdHtyfggNGTTAoUeun9KK3RMF5KO2rLIQHKtfHPmOrDtn8i2b68uHFz3eFh76m52xU12v94-lcYwnHmfUQzQh6yQcDja9VERDyy-s42-d5TkNYAHt91tGRyL5WDYj6JC8cucYfxzn1SvjPvDKoqfLO7gQG9xIEWi4kMGdKMMMypq0eA2QnMKKolwUrnNHtd-lJ33bH_kkRmYEMW6UEW56uvqmPFRkCVzmr2I_1_uRsejwEsnC6b-QMUEz_0R9VHx2J0ExFpRvGtp9q9mEsNkid1Ii88FgpYRw-dxyVtZErQrrRnKhTMPxWalE56DKYdKsWy71M9aeuGnJuib4hArNmH_HtWbScEAs8lmwvQtiIhncyd4-hu_BZNsbNMmBJckaG2_Bh-0m00\" 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 data-nodeid=\"77144\">Cecha AI Visual Paradigm<\/h3>\n<p data-nodeid=\"77145\">U\u017cyj\u00a0<strong data-nodeid=\"77412\">Inteligentny \u0142\u0105cznik<\/strong>\u00a0z sugestiami AI, aby automatycznie wykrywa\u0107 i sugerowa\u0107 relacje mi\u0119dzy kontenerami na podstawie ich typ\u00f3w i odpowiedzialno\u015bci.<\/p>\n<hr data-nodeid=\"77146\"\/>\n<h2 data-nodeid=\"77147\">Poziom 3: Diagram komponent\u00f3w<\/h2>\n<h3 data-nodeid=\"77148\">Co pokazuje<\/h3>\n<p data-nodeid=\"77149\">Wewn\u0119trzna struktura pojedynczego kontenera.<\/p>\n<h3 data-nodeid=\"77150\">Przyk\u0142ad PayQuick<\/h3>\n<p data-nodeid=\"77151\">Przyjrzyjmy si\u0119 bli\u017cej\u00a0<strong data-nodeid=\"77424\">Us\u0142uga p\u0142atno\u015bci<\/strong>kontener, aby zobaczy\u0107 jego sk\u0142adniki:<\/p>\n<p data-nodeid=\"77152\"><strong data-nodeid=\"77428\">Sk\u0142adniki:<\/strong><\/p>\n<ul data-nodeid=\"77153\">\n<li data-nodeid=\"77154\">\n<p data-nodeid=\"77155\">Kontroler p\u0142atno\u015bci<\/p>\n<\/li>\n<li data-nodeid=\"77156\">\n<p data-nodeid=\"77157\">Menad\u017cer transakcji<\/p>\n<\/li>\n<li data-nodeid=\"77158\">\n<p data-nodeid=\"77159\">Us\u0142uga wykrywania oszustw<\/p>\n<\/li>\n<li data-nodeid=\"77160\">\n<p data-nodeid=\"77161\">Kalkulator sald<\/p>\n<\/li>\n<li data-nodeid=\"77162\">\n<p data-nodeid=\"77163\">Warstwa repozytori\u00f3w<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"77164\">Kod C4-PlantUML<\/h3>\n<p id=\"jjVtdVE\"><img alt=\"\" class=\"alignnone size-full wp-image-25295\" decoding=\"async\" height=\"852\" loading=\"lazy\" sizes=\"auto, (max-width: 1461px) 100vw, 1461px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fde8f2934.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fde8f2934.png 1461w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fde8f2934-300x175.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fde8f2934-1030x601.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fde8f2934-768x448.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fde8f2934-150x87.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fde8f2934-400x233.png 400w\" width=\"1461\"\/><\/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\/#plantuml:ZLLDRnen4BqZyHycd1Af2QgKKqz9baPDrRGKabpHu3MBXTVUsbwsKTN_tl6Q_MHBmWa_C-_DZDyCDzQXSNagnwCpePZCOmvRvpBxQJerM5mbmctpTMwvOLevhjmLq-aqawXyqALriHJhQNHzEVVGy-EtQOhMSKFGAj9fffMFoKg1ySW99pdCyVLdBjWEBltNb7u0IsxsWd6eGs0cC36O-gYpc6-4eilhvHOp_g0Mke3hDdwdSnMZUGrN7trGHEaYtPfLTNcU1R6L3M8VODAJdrp0d_48w5FdKGVvyesMaficBggn2O7Bp0YLmEBpyWcwDrzGnP9Re0RhrF_cG0g6_ygvTNPoqPTr1fL5veHMgnGL9gNkKuC-1h0bN1L1o0_3jiHhq95g9LPeizj8NGoeRGpcyIhcZZEdlT2z1sRbcRHQpCTQBoX5N0grShQmqGPAscErDP9N65ynb2oN61Jl0XZLsB1QTKzor5J8io2DZD4hEpXG3vIu3sdwVZRl_rA3xoonwYMTi4o0HeDCPYsON3QoFV7PklEUXcUw-vWBGgoWebzR2SoynjVvRGdHNRV3v1scJNnSAOaTkb49tORZcoB1KaqpVP53zC4j1_BIAGjV_7kBACCXhinridFdIZkn4Imy79E2C6BwtaAZ4lJyzrma2fepUKLQQ3E0hGRzs9Dgr_3VqOco_p_r0-t298nNGHiI-6_QUGebh4CatCuVlCXVlueMN0wkaU4PlzUcG7hOeoK1JdjAppOOUJJ4WvDPvdkIvzIa45Tf_JT91cVy-J2jrPJ2Nk19be6fMUA-lsgQlWofzePXmJ6sqy88rtDwYwRVoOxXeordkyEy0oRq7sFToIA6BRpaAkwQy-rsT4qwDvfwQ2cBsdrbr8QRcceykY4T-lVz1m00\" 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\/#plantuml:ZLRDRXCn4BvNwZkOdgX4YP1wujIIWbIWQcYfaBX44tkoTTThhxpUhho8IqKVek8nk78ZUI_6Nf9k4ZSYboGpcU-RdszcSrGviAukrExECwcvgWMoQ-VAwlLWOA5vcKbtNK_g2Yqtsg5sBxaf1gK27O8EAYUKd0o6XmUZOBew-pWee79eoJGUcg8qEiIKaM1tnqcda8t0Vwebpza1Ev6GMIXObS_lG6YP__dLiBgQtzMPP2NPd3Rpdro6u6S2fr8Z6nvUNaE9f_h2DEomRtzZQYt0-ixrAWGDAMiWhnqldCzBy0KbDQQQRYN75splAX92dt1ldttRtM7qMbQn30oTi4Ofj1JxeVk2TYMQ79UbbJfZ5sylFxFXCY9upYUHhxv1LjhMysiZsjazHpR_FRiNeELQ9kjvE0kw0kwaqUC2D6GnaJFK8EQ_AP7Ed_ERVXwNNRLxCMLZXTV_-96uVEEtKqujr68iq25tnlPQrlZS-YRcRAgshboJvlo2razb7ZYNwH6z4IoVtJiibj4Rr1CWPN4SSr2yLj3HVm2LTrzO1KgaESydIl8Mc6IGkngKR0Dz-3smd2QooNLBFn8G6xkfZYOwd-nghqAQ8VRxIHcqK87mR29RZPLfSC6zbi79P6Mw5aj3q1VqrdegLjP5Uhedu82z7nq7quXcIffgGYOMyp3hVj3-9YLmJilXadInKMcYhs19ju8wJ0NxGgQRIlYTUbBe5hDwVfUGpjC5XG2Vqbswey-rSN8gUJTLhYJPWe3Y1n9W8q6OGkByHw1wXpBJR1YTSQY-CJHz8kwEqknXDIIXLfrli0IZQNoAu9IEQcQZBYM1jwp5HiyUd6sfeqoIrqxnfg85EHwTBe2AmFizdBSBLCcpb3uHeP4vn2r8dXecJ40Ee4c0ZIkGskfG1Q6Qml3P_LQuvBQjhz5_OYMlnF76sfScNBnsArHY0Rz2AQkrs_NOgnJtsagT2qwQ9uH1ku2ArOMDWHxKUeTNDeTM0vgmRiibQ3CrUn1ORAqdlG1VVELfyZqvHp7yHtzM9HuqvHgw110V9WhfKVAeOUmZxkuSeHRqL-0l\" \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\" data-nodeid=\"77165\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n!include https:\/\/raw.githubusercontent.com\/plantuml-stdlib\/C4-PlantUML\/master\/C4_Component.puml\r\n\r\ntitle PayQuick - Diagram sk\u0142adnik\u00f3w us\u0142ugi p\u0142atno\u015bci\r\n\r\n!define C4ShapeInRow 4\r\n!define C4BoundaryInRow 1\r\n\r\nContainer_Boundary(payment_service, \"Us\u0142uga p\u0142atno\u015bci\") {\r\n    Component(payment_controller, \"Kontroler p\u0142atno\u015bci\", \"Spring REST Controller\", \"Obs\u0142uguje przychodz\u0105ce \u017c\u0105dania p\u0142atno\u015bci\")\r\n    Component(transaction_manager, \"Menad\u017cer transakcji\", \"Spring Service\", \"Koordynuje przep\u0142ywy p\u0142atno\u015bci\")\r\n    Component(fraud_detector, \"Us\u0142uga wykrywania oszustw\", \"Spring Service\", \"Weryfikuje transakcje pod k\u0105tem oszustw\")\r\n    Component(balance_calculator, \"Kalkulator sald\", \"Spring Service\", \"Oblicza i aktualizuje salda kont\")\r\n    Component(validation_service, \"Us\u0142uga walidacji\", \"Spring Service\", \"Weryfikuje dane p\u0142atno\u015bci i zasady biznesowe\")\r\n    \r\n    ComponentDb(transaction_repo, \"Repozytorium transakcji\", \"Spring Data JPA\", \"Przechowuje rekordy transakcji\")\r\n    ComponentDb(account_repo, \"Repozytorium kont\", \"Spring Data JPA\", \"Zarz\u0105dza danymi kont\")\r\n    ComponentDb(fraud_repo, \"Repozytorium regu\u0142 oszustw\", \"Spring Data JPA\", \"Przechowuje regu\u0142y wykrywania oszustw\")\r\n    \r\n    Component(notification_client, \"Klient powiadomie\u0144\", \"Feign Client\", \"Wywo\u0142uje us\u0142ug\u0119 powiadomie\u0144\")\r\n    Component(bank_client, \"Klient bankowy\", \"Feign Client\", \"Integruje si\u0119 z zewn\u0119trznym interfejsem API bankowym\")\r\n}\r\n\r\nRel(payment_controller, transaction_manager, \"Przekazuje \u017c\u0105dania p\u0142atno\u015bci do\")\r\nRel(transaction_manager, fraud_detector, \"Weryfikuje transakcj\u0119 za pomoc\u0105\")\r\nRel(transaction_manager, validation_service, \"Weryfikuje dane za pomoc\u0105\")\r\nRel(transaction_manager, balance_calculator, \"Aktualizuje salda poprzez\")\r\nRel(transaction_manager, transaction_repo, \"Zapisuje transakcje do\")\r\nRel(balance_calculator, account_repo, \"Odczytuje\/zapisuje dane konta do\")\r\nRel(fraud_detector, fraud_repo, \"Sprawdza regu\u0142y wzgl\u0119dem\")\r\nRel(transaction_manager, notification_client, \"Wysy\u0142a powiadomienia poprzez\")\r\nRel(transaction_manager, bank_client, \"Przetwarza przelewy zewn\u0119trzne poprzez\")\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:ZLRDRXCn4BvNwZkOdgX4YP1wujIIWbIWQcYfaBX44tkoTTThhxpUhho8IqKVek8nk78ZUI_6Nf9k4ZSYboGpcU-RdszcSrGviAukrExECwcvgWMoQ-VAwlLWOA5vcKbtNK_g2Yqtsg5sBxaf1gK27O8EAYUKd0o6XmUZOBew-pWee79eoJGUcg8qEiIKaM1tnqcda8t0Vwebpza1Ev6GMIXObS_lG6YP__dLiBgQtzMPP2NPd3Rpdro6u6S2fr8Z6nvUNaE9f_h2DEomRtzZQYt0-ixrAWGDAMiWhnqldCzBy0KbDQQQRYN75splAX92dt1ldttRtM7qMbQn30oTi4Ofj1JxeVk2TYMQ79UbbJfZ5sylFxFXCY9upYUHhxv1LjhMysiZsjazHpR_FRiNeELQ9kjvE0kw0kwaqUC2D6GnaJFK8EQ_AP7Ed_ERVXwNNRLxCMLZXTV_-96uVEEtKqujr68iq25tnlPQrlZS-YRcRAgshboJvlo2razb7ZYNwH6z4IoVtJiibj4Rr1CWPN4SSr2yLj3HVm2LTrzO1KgaESydIl8Mc6IGkngKR0Dz-3smd2QooNLBFn8G6xkfZYOwd-nghqAQ8VRxIHcqK87mR29RZPLfSC6zbi79P6Mw5aj3q1VqrdegLjP5Uhedu82z7nq7quXcIffgGYOMyp3hVj3-9YLmJilXadInKMcYhs19ju8wJ0NxGgQRIlYTUbBe5hDwVfUGpjC5XG2Vqbswey-rSN8gUJTLhYJPWe3Y1n9W8q6OGkByHw1wXpBJR1YTSQY-CJHz8kwEqknXDIIXLfrli0IZQNoAu9IEQcQZBYM1jwp5HiyUd6sfeqoIrqxnfg85EHwTBe2AmFizdBSBLCcpb3uHeP4vn2r8dXecJ40Ee4c0ZIkGskfG1Q6Qml3P_LQuvBQjhz5_OYMlnF76sfScNBnsArHY0Rz2AQkrs_NOgnJtsagT2qwQ9uH1ku2ArOMDWHxKUeTNDeTM0vgmRiibQ3CrUn1ORAqdlG1VVELfyZqvHp7yHtzM9HuqvHgw110V9WhfKVAeOUmZxkuSeHRqL-0l\" \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\/#plantuml:ZLLDRnen4BqZyHycd1Af2QgKKqz9baPDrRGKabpHu3MBXTVUsbwsKTN_tl6Q_MHBmWa_C-_DZDyCDzQXSNagnwCpePZCOmvRvpBxQJerM5mbmctpTMwvOLevhjmLq-aqawXyqALriHJhQNHzEVVGy-EtQOhMSKFGAj9fffMFoKg1ySW99pdCyVLdBjWEBltNb7u0IsxsWd6eGs0cC36O-gYpc6-4eilhvHOp_g0Mke3hDdwdSnMZUGrN7trGHEaYtPfLTNcU1R6L3M8VODAJdrp0d_48w5FdKGVvyesMaficBggn2O7Bp0YLmEBpyWcwDrzGnP9Re0RhrF_cG0g6_ygvTNPoqPTr1fL5veHMgnGL9gNkKuC-1h0bN1L1o0_3jiHhq95g9LPeizj8NGoeRGpcyIhcZZEdlT2z1sRbcRHQpCTQBoX5N0grShQmqGPAscErDP9N65ynb2oN61Jl0XZLsB1QTKzor5J8io2DZD4hEpXG3vIu3sdwVZRl_rA3xoonwYMTi4o0HeDCPYsON3QoFV7PklEUXcUw-vWBGgoWebzR2SoynjVvRGdHNRV3v1scJNnSAOaTkb49tORZcoB1KaqpVP53zC4j1_BIAGjV_7kBACCXhinridFdIZkn4Imy79E2C6BwtaAZ4lJyzrma2fepUKLQQ3E0hGRzs9Dgr_3VqOco_p_r0-t298nNGHiI-6_QUGebh4CatCuVlCXVlueMN0wkaU4PlzUcG7hOeoK1JdjAppOOUJJ4WvDPvdkIvzIa45Tf_JT91cVy-J2jrPJ2Nk19be6fMUA-lsgQlWofzePXmJ6sqy88rtDwYwRVoOxXeordkyEy0oRq7sFToIA6BRpaAkwQy-rsT4qwDvfwQ2cBsdrbr8QRcceykY4T-lVz1m00\" 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 data-nodeid=\"77166\">Porada Visual Paradigm<\/h3>\n<p data-nodeid=\"77167\">U\u017cyj\u00a0<strong data-nodeid=\"77441\">Szablony diagram\u00f3w sk\u0142adnik\u00f3w<\/strong>w Visual Paradigm, aby szybko tworzy\u0107 struktury sk\u0142adnik\u00f3w. AI mo\u017ce sugerowa\u0107 typowe wzorce, takie jak Repozytorium, Warstwa us\u0142ug i Kontroler, na podstawie typu kontenera.<\/p>\n<hr data-nodeid=\"77168\"\/>\n<h2 data-nodeid=\"77169\">\ud83d\udcbb Poziom 4: Diagram kodu (opcjonalny)<\/h2>\n<h3 data-nodeid=\"77170\">Co pokazuje<\/h3>\n<p data-nodeid=\"77171\">Faktyczne klasy, interfejsy i metody.<\/p>\n<h3 data-nodeid=\"77172\">Przyk\u0142ad: Klasa FraudDetectionService<\/h3>\n<p id=\"NLhqVWO\"><img alt=\"\" class=\"alignnone size-full wp-image-25296\" decoding=\"async\" height=\"618\" loading=\"lazy\" sizes=\"auto, (max-width: 554px) 100vw, 554px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fe04527ac.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fe04527ac.png 554w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fe04527ac-269x300.png 269w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fe04527ac-134x150.png 134w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fe04527ac-400x446.png 400w\" width=\"554\"\/><\/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\/#plantuml:XPF1QiCm38RlWRo3ZnsbVO0mIkcwmQ3iq9RT5KTBJ1sxs79f6NltAKdT9Lks-IPBl_JfDrvw0aUXrcb2YZIA9mUXM2EX96ND3jr9IHGpyQ31Ux5MK3geqoHDP7inNlwU9eBFh4jlWqQ_nQFrYgoxYBVsakDOjNTWFBGTUcLqDbz5Ko4hb8UstuGpMLzqbrq7eG-QObSyWGv0s8uVqsoKf_ickuWI2Le6tMYKF-oaTJYcMzkGQumQvLzHMwdeydYMY0KMa-3HFHUPs95JfcJ5obgDODBauvjp7N7qQyhDLjphW2pEewRBk4YKYQ8tVohoJj1kUTsfcxk85ILIiyy6JwWdJ7CBHdYuIu-6CJRMb3S6phv0ZN6pU4-LGrzPNGozQTPvDC3nptNYuupvcu-urQiOyWr9eBR141kkoZLALOEEcU6RtCXLZVm3wYEJCysUmvYgqSaA3FL5BT0lFsIs63nf9XnISCR_BsWypnh0Fslx3cI2xLC54qV9TUfyFcmghI5G3KIQBD4K_D4_0G00\" 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\/#plantuml:XLD1JiCm4Bn7oXzyBAhQ1qIeGbMBX5Hne8Zxrjcc9ewDx7LBGVoCA_zYazGbWG2vHEkTcPqTorUUm56eT9gG8etYsa785qWeILcpHhTN4iL4B1GK3YfHQl1faYQI__uNz6kQ2FucRVikQFHt-6Iz8kkEOjiSSXrHzmwCXqQX0wDdymKQ2xb3MJPw8-vaNT95TXg4FcYAghW77O2m6J_4MIbFbtLt5YaIj0owvYXVhgLrECHRsB3H63dAFw2sKj5n-ImHSyn7mQExoJEn9gTCmOovjHh1fCdRj-HQnp6lCOlDMQj49cyYf-suw2WJUMV-M6nQGhFbQQTsxYmY2gHwdnNkKO_OpRaOyCCg7JTiOsLDSVR0tLkeC6uMpsddqE-ipllPrEii3N3zSvruEKFvRWRIwY3w_lfEeBB140UkYWLALO6EdVwTd9sh2la1L4_idDtSSnbR5Jgv0qDTKcFebmSocVMkD1Cl1mSI_iVNaMSYVBmV3t-Ykn5aue3kk5LbUCGJvpHtEkthli11eOFQ-1MQd1_w9m00\" \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\" data-nodeid=\"77173\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\ntitle FraudDetectionService - Diagram klas\r\n\r\nclass FraudDetectionService {\r\n    - FraudRulesRepository fraudRepo\r\n    - TransactionRepository txnRepo\r\n    + checkFraud(txn: Transaction): FraudResult\r\n    - evaluateRules(txn: Transaction): List&lt;Rule&gt;\r\n    - calculateRiskScore(txn: Transaction): Double\r\n    - isVelocityExceeded(userId: String): Boolean\r\n}\r\n\r\nclass FraudResult {\r\n    + isBlocked: boolean\r\n    + riskScore: double\r\n    + blockedRules: List&lt;String&gt;\r\n    + getRiskLevel(): RiskLevel\r\n}\r\n\r\nclass FraudRule {\r\n    + id: Long\r\n    + ruleName: String\r\n    + threshold: Double\r\n    + isEnabled: boolean\r\n    + evaluate(txn: Transaction): boolean\r\n}\r\n\r\nclass Transaction {\r\n    + id: String\r\n    + amount: BigDecimal\r\n    + userId: String\r\n    + timestamp: DateTime\r\n    + merchantId: String\r\n}\r\n\r\nFraudDetectionService --&gt; FraudResult : zwraca\r\nFraudDetectionService --&gt; FraudRule : u\u017cywa\r\nFraudDetectionService --&gt; Transaction : weryfikuje\r\nFraudResult ..&gt; FraudRule : zawiera\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#plantuml:XLD1JiCm4Bn7oXzyBAhQ1qIeGbMBX5Hne8Zxrjcc9ewDx7LBGVoCA_zYazGbWG2vHEkTcPqTorUUm56eT9gG8etYsa785qWeILcpHhTN4iL4B1GK3YfHQl1faYQI__uNz6kQ2FucRVikQFHt-6Iz8kkEOjiSSXrHzmwCXqQX0wDdymKQ2xb3MJPw8-vaNT95TXg4FcYAghW77O2m6J_4MIbFbtLt5YaIj0owvYXVhgLrECHRsB3H63dAFw2sKj5n-ImHSyn7mQExoJEn9gTCmOovjHh1fCdRj-HQnp6lCOlDMQj49cyYf-suw2WJUMV-M6nQGhFbQQTsxYmY2gHwdnNkKO_OpRaOyCCg7JTiOsLDSVR0tLkeC6uMpsddqE-ipllPrEii3N3zSvruEKFvRWRIwY3w_lfEeBB140UkYWLALO6EdVwTd9sh2la1L4_idDtSSnbR5Jgv0qDTKcFebmSocVMkD1Cl1mSI_iVNaMSYVBmV3t-Ykn5aue3kk5LbUCGJvpHtEkthli11eOFQ-1MQd1_w9m00\" \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\/#plantuml:XPF1QiCm38RlWRo3ZnsbVO0mIkcwmQ3iq9RT5KTBJ1sxs79f6NltAKdT9Lks-IPBl_JfDrvw0aUXrcb2YZIA9mUXM2EX96ND3jr9IHGpyQ31Ux5MK3geqoHDP7inNlwU9eBFh4jlWqQ_nQFrYgoxYBVsakDOjNTWFBGTUcLqDbz5Ko4hb8UstuGpMLzqbrq7eG-QObSyWGv0s8uVqsoKf_ickuWI2Le6tMYKF-oaTJYcMzkGQumQvLzHMwdeydYMY0KMa-3HFHUPs95JfcJ5obgDODBauvjp7N7qQyhDLjphW2pEewRBk4YKYQ8tVohoJj1kUTsfcxk85ILIiyy6JwWdJ7CBHdYuIu-6CJRMb3S6phv0ZN6pU4-LGrzPNGozQTPvDC3nptNYuupvcu-urQiOyWr9eBR141kkoZLALOEEcU6RtCXLZVm3wYEJCysUmvYgqSaA3FL5BT0lFsIs63nf9XnISCR_BsWypnh0Fslx3cI2xLC54qV9TUfyFcmghI5G3KIQBD4K_D4_0G00\" 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 data-nodeid=\"77174\"><strong data-nodeid=\"77450\">Uwaga:<\/strong>Diagramy poziomu 4 najlepiej generowa\u0107 automatycznie z kodu przy u\u017cyciu narz\u0119dzi takich jak:<\/p>\n<ul data-nodeid=\"77175\">\n<li data-nodeid=\"77176\">\n<p data-nodeid=\"77177\"><strong data-nodeid=\"77457\">In\u017cynieria kodu w Visual Paradigm<\/strong>funkcje<\/p>\n<\/li>\n<li data-nodeid=\"77178\">\n<p data-nodeid=\"77179\">wbudowany generator diagram\u00f3w w IntelliJ IDEA<\/p>\n<\/li>\n<li data-nodeid=\"77180\">\n<p data-nodeid=\"77181\">Swagger\/OpenAPI do dokumentacji interfejs\u00f3w API<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"77182\"\/>\n<h2 data-nodeid=\"77183\">\ud83d\udee0\ufe0f Zalecane narz\u0119dzia: Visual Paradigm + funkcje AI<\/h2>\n<h3 data-nodeid=\"77184\">Dlaczego Visual Paradigm?<\/h3>\n<p data-nodeid=\"77185\">Visual Paradigm to kompleksowe narz\u0119dzie modelowania, kt\u00f3re domy\u015blnie obs\u0142uguje diagramy C4 i oferuje pot\u0119\u017cne funkcje wspomagane przez sztuczn\u0105 inteligencj\u0119:<\/p>\n<h3 data-nodeid=\"77186\">G\u0142\u00f3wne funkcje do modelowania C4:<\/h3>\n<ol data-nodeid=\"77187\">\n<li data-nodeid=\"77188\">\n<p data-nodeid=\"77189\"><strong data-nodeid=\"77469\">Generowanie diagram\u00f3w z wykorzystaniem AI<\/strong><\/p>\n<ul data-nodeid=\"77190\">\n<li data-nodeid=\"77191\">\n<p data-nodeid=\"77192\">Opisz sw\u00f3j system prostym j\u0119zykiem angielskim<\/p>\n<\/li>\n<li data-nodeid=\"77193\">\n<p data-nodeid=\"77194\">AI sugeruje odpowiednie diagramy poziomu C4<\/p>\n<\/li>\n<li data-nodeid=\"77195\">\n<p data-nodeid=\"77196\">Automatycznie generuje struktur\u0119 pocz\u0105tkow\u0105<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li data-nodeid=\"77197\">\n<p data-nodeid=\"77198\"><strong data-nodeid=\"77476\">Inteligentny silnik uk\u0142adu<\/strong><\/p>\n<ul data-nodeid=\"77199\">\n<li data-nodeid=\"77200\">\n<p data-nodeid=\"77201\">Automatyczne u\u0142o\u017cenie komponent\u00f3w<\/p>\n<\/li>\n<li data-nodeid=\"77202\">\n<p data-nodeid=\"77203\">Inteligentne routowanie po\u0142\u0105cze\u0144<\/p>\n<\/li>\n<li data-nodeid=\"77204\">\n<p data-nodeid=\"77205\">Sp\u00f3jne stylizowanie na diagramach<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li data-nodeid=\"77206\">\n<p data-nodeid=\"77207\"><strong data-nodeid=\"77483\">In\u017cynieria kodu<\/strong><\/p>\n<ul data-nodeid=\"77208\">\n<li data-nodeid=\"77209\">\n<p data-nodeid=\"77210\">Odwr\u00f3cone in\u017cynierowanie kodu do diagram\u00f3w (poziom 4)<\/p>\n<\/li>\n<li data-nodeid=\"77211\">\n<p data-nodeid=\"77212\">In\u017cynieria w prz\u00f3d: diagramy do szkielet\u00f3w kodu<\/p>\n<\/li>\n<li data-nodeid=\"77213\">\n<p data-nodeid=\"77214\">Utrzymuj diagramy zsynchronizowane z kodem<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li data-nodeid=\"77215\">\n<p data-nodeid=\"77216\"><strong data-nodeid=\"77490\">Funkcje wsp\u00f3\u0142pracy<\/strong><\/p>\n<ul data-nodeid=\"77217\">\n<li data-nodeid=\"77218\">\n<p data-nodeid=\"77219\">Wsp\u00f3\u0142praca zespo\u0142u w czasie rzeczywistym<\/p>\n<\/li>\n<li data-nodeid=\"77220\">\n<p data-nodeid=\"77221\">Integracja z systemem kontroli wersji<\/p>\n<\/li>\n<li data-nodeid=\"77222\">\n<p data-nodeid=\"77223\">Eksport do wielu format\u00f3w (PNG, PDF, SVG)<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li data-nodeid=\"77224\">\n<p data-nodeid=\"77225\"><strong data-nodeid=\"77497\">Szablony modelu C4<\/strong><\/p>\n<ul data-nodeid=\"77226\">\n<li data-nodeid=\"77227\">\n<p data-nodeid=\"77228\">Gotowe szablony dla ka\u017cdego poziomu C4<\/p>\n<\/li>\n<li data-nodeid=\"77229\">\n<p data-nodeid=\"77230\">Przyk\u0142ady specyficzne dla bran\u017cy<\/p>\n<\/li>\n<li data-nodeid=\"77231\">\n<p data-nodeid=\"77232\">Zintegrowane wytyczne najlepszych praktyk<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3 data-nodeid=\"77233\">Rozpocz\u0119cie pracy z Visual Paradigm:<\/h3>\n<ol data-nodeid=\"77234\">\n<li data-nodeid=\"77235\">\n<p data-nodeid=\"77236\"><strong data-nodeid=\"77506\">Pobierz<\/strong>\u00a0wydanie spo\u0142eczno\u015bciowe (darmowe) lub wydanie Enterprise<\/p>\n<\/li>\n<li data-nodeid=\"77237\">\n<p data-nodeid=\"77238\"><strong data-nodeid=\"77511\">Zainstaluj<\/strong>\u00a0wtyczk\u0119 modelu C4 z marketplacu<\/p>\n<\/li>\n<li data-nodeid=\"77239\">\n<p data-nodeid=\"77240\"><strong data-nodeid=\"77516\">Utw\u00f3rz<\/strong>\u00a0pierwszy diagram przy u\u017cyciu kreatora<\/p>\n<\/li>\n<li data-nodeid=\"77241\">\n<p data-nodeid=\"77242\"><strong data-nodeid=\"77521\">U\u017cyj Asystenta AI<\/strong>\u00a0klikaj\u0105c ikon\u0119 czarodziejskiej r\u00f3\u017cd\u017cki<\/p>\n<\/li>\n<li data-nodeid=\"77243\">\n<p data-nodeid=\"77244\"><strong data-nodeid=\"77526\">Eksportuj<\/strong>\u00a0i udost\u0119pnij zespo\u0142owi<\/p>\n<\/li>\n<\/ol>\n<hr data-nodeid=\"77245\"\/>\n<h2 data-nodeid=\"77246\">\ud83d\ude80 Najlepsze praktyki dla pocz\u0105tkuj\u0105cych<\/h2>\n<h3 data-nodeid=\"77247\">1.\u00a0<strong data-nodeid=\"77532\">Zacznij prosto, a nast\u0119pnie iteruj<\/strong><\/h3>\n<ul data-nodeid=\"77248\">\n<li data-nodeid=\"77249\">\n<p data-nodeid=\"77250\">Zacznij od poziomu 1, nawet je\u015bli wydaje si\u0119 zbyt podstawowy<\/p>\n<\/li>\n<li data-nodeid=\"77251\">\n<p data-nodeid=\"77252\">Uzyskaj zaanga\u017cowanie stakeholder\u00f3w przed g\u0142\u0119bszym zag\u0142\u0119bieniem<\/p>\n<\/li>\n<li data-nodeid=\"77253\">\n<p data-nodeid=\"77254\">Dodawaj szczeg\u00f3\u0142owe informacje stopniowo, w zale\u017cno\u015bci od potrzeb<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"77255\">2.\u00a0<strong data-nodeid=\"77540\">Utrzymuj diagramy aktualne<\/strong><\/h3>\n<ul data-nodeid=\"77256\">\n<li data-nodeid=\"77257\">\n<p data-nodeid=\"77258\">Aktualizuj diagramy poziomu 1-2 przy ka\u017cdej istotnej wersji<\/p>\n<\/li>\n<li data-nodeid=\"77259\">\n<p data-nodeid=\"77260\">Automatyzuj generowanie poziomu 4 tam, gdzie to mo\u017cliwe<\/p>\n<\/li>\n<li data-nodeid=\"77261\">\n<p data-nodeid=\"77262\">Archiwizuj przestarza\u0142e diagramy, nie usuwaj ich<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"77263\">3.\u00a0<strong data-nodeid=\"77550\">Jasno nazwij rzeczy<\/strong><\/h3>\n<p data-nodeid=\"77264\">U\u017cyj formatu:\u00a0<strong data-nodeid=\"77563\">Nazwa<\/strong>\u00a0[Technologia] \u2013\u00a0<strong data-nodeid=\"77564\">Opis<\/strong><\/p>\n<p data-nodeid=\"77265\">\u2705 Dobrze:\u00a0<code data-backticks=\"1\" data-nodeid=\"77566\">Us\u0142uga p\u0142atno\u015bci [Spring Boot] - Przetwarza transakcje p\u0142atno\u015bciowe<\/code><br \/>\n\u274c \u0179le:\u00a0<code data-backticks=\"1\" data-nodeid=\"77570\">PaymentService<\/code>\u00a0lub\u00a0<code data-backticks=\"1\" data-nodeid=\"77572\">Rzecz o p\u0142atno\u015bciach<\/code><\/p>\n<h3 data-nodeid=\"77266\">4.\u00a0<strong data-nodeid=\"77577\">Wybierz odpowiedni poziom dla swojej publiczno\u015bci<\/strong><\/h3>\n<table data-nodeid=\"77268\">\n<thead data-nodeid=\"77269\">\n<tr data-nodeid=\"77270\">\n<th data-nodeid=\"77272\">Publiczno\u015b\u0107<\/th>\n<th data-nodeid=\"77273\">Zalecany poziom<\/th>\n<\/tr>\n<\/thead>\n<tbody data-nodeid=\"77276\">\n<tr data-nodeid=\"77277\">\n<td data-nodeid=\"77278\">Kierownicy\/Klienci<\/td>\n<td data-nodeid=\"77279\">Tylko poziom 1<\/td>\n<\/tr>\n<tr data-nodeid=\"77280\">\n<td data-nodeid=\"77281\">Mened\u017cerowie produktu<\/td>\n<td data-nodeid=\"77282\">Poziomy 1-2<\/td>\n<\/tr>\n<tr data-nodeid=\"77283\">\n<td data-nodeid=\"77284\">DevOps\/Infrastruktura<\/td>\n<td data-nodeid=\"77285\">Poziomy 2-3<\/td>\n<\/tr>\n<tr data-nodeid=\"77286\">\n<td data-nodeid=\"77287\">Programi\u015bci<\/td>\n<td data-nodeid=\"77288\">Poziomy 2-4<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 data-nodeid=\"77289\">5.\u00a0<strong data-nodeid=\"77592\">U\u017cywaj sp\u00f3jnego j\u0119zyka wizualnego<\/strong><\/h3>\n<ul data-nodeid=\"77290\">\n<li data-nodeid=\"77291\">\n<p data-nodeid=\"77292\">Przestrzegaj konwencji kolorystycznych C4<\/p>\n<\/li>\n<li data-nodeid=\"77293\">\n<p data-nodeid=\"77294\">U\u017cywaj sp\u00f3jnych kszta\u0142t\u00f3w dla podobnych element\u00f3w<\/p>\n<\/li>\n<li data-nodeid=\"77295\">\n<p data-nodeid=\"77296\">Utrzymuj styl strza\u0142ek dla typ\u00f3w relacji<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"77297\"\/>\n<h2 data-nodeid=\"77298\">\ud83d\udcca Pe\u0142ny przyk\u0142ad: Mapowanie przebiegu u\u017cytkownika na r\u00f3\u017cnych poziomach<\/h2>\n<p data-nodeid=\"77299\">Prze\u015bled\u017amy\u00a0<strong data-nodeid=\"77606\">\u201eWy\u015blij pieni\u0105dze\u201d<\/strong>\u00a0funkcj\u0119 na wszystkich poziomach C4:<\/p>\n<p data-nodeid=\"77300\"><strong data-nodeid=\"77611\">Poziom 1 (kontekst):<\/strong>\u00a0Klient \u2192 PayQuick \u2192 Sie\u0107 bankowa<\/p>\n<p id=\"kVLWWbl\"><img alt=\"\" class=\"alignnone size-full wp-image-25298\" decoding=\"async\" height=\"768\" loading=\"lazy\" sizes=\"auto, (max-width: 522px) 100vw, 522px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffaf5a8f1.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffaf5a8f1.png 522w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffaf5a8f1-204x300.png 204w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffaf5a8f1-102x150.png 102w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffaf5a8f1-400x589.png 400w\" width=\"522\"\/><\/p>\n<p data-nodeid=\"77301\"><strong data-nodeid=\"77616\">Poziom 2 (kontenery):<\/strong>\u00a0Aplikacja mobilna \u2192 Brama API \u2192 Us\u0142uga p\u0142atno\u015bci \u2192 Baza danych \u2192 API banku<\/p>\n<p id=\"FBKlsJZ\"><img alt=\"\" class=\"alignnone size-full wp-image-25299\" decoding=\"async\" height=\"1239\" loading=\"lazy\" sizes=\"auto, (max-width: 642px) 100vw, 642px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffcdc3199.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffcdc3199.png 642w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffcdc3199-155x300.png 155w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffcdc3199-534x1030.png 534w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffcdc3199-78x150.png 78w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffcdc3199-400x772.png 400w\" width=\"642\"\/><\/p>\n<p data-nodeid=\"77302\"><strong data-nodeid=\"77621\">Poziom 3 (sk\u0142adowe):<\/strong>\u00a0PaymentController \u2192 TransactionManager \u2192 FraudDetection \u2192 BalanceCalculator \u2192 TransactionRepository<\/p>\n<p id=\"FTbCKqG\"><img alt=\"\" class=\"alignnone size-full wp-image-25300\" decoding=\"async\" height=\"1150\" loading=\"lazy\" sizes=\"auto, (max-width: 950px) 100vw, 950px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffdfb6c2f.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffdfb6c2f.png 950w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffdfb6c2f-248x300.png 248w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffdfb6c2f-851x1030.png 851w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffdfb6c2f-768x930.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffdfb6c2f-124x150.png 124w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56ffdfb6c2f-400x484.png 400w\" width=\"950\"\/><\/p>\n<p data-nodeid=\"77303\"><strong data-nodeid=\"77631\">Poziom 4 (kod):<\/strong>\u00a0<code data-backticks=\"1\" data-nodeid=\"77626\">PaymentController.transfer()<\/code>\u00a0\u2192\u00a0<code data-backticks=\"1\" data-nodeid=\"77628\">TransactionManager.process()<\/code>\u00a0\u2192\u00a0<code data-backticks=\"1\" data-nodeid=\"77630\">FraudDetection.checkFraud()<\/code><\/p>\n<p id=\"hjXjyBi\"><img alt=\"\" class=\"alignnone size-full wp-image-25301\" decoding=\"async\" height=\"365\" loading=\"lazy\" sizes=\"auto, (max-width: 1503px) 100vw, 1503px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fffb3ea11.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fffb3ea11.png 1503w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fffb3ea11-300x73.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fffb3ea11-1030x250.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fffb3ea11-768x187.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fffb3ea11-150x36.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a56fffb3ea11-400x97.png 400w\" width=\"1503\"\/><br \/>\nTen hierarchiczny podej\u015bcie pomaga r\u00f3\u017cnym cz\u0142onkom zespo\u0142u zrozumie\u0107 system na odpowiednim poziomie szczeg\u00f3\u0142owo\u015bci.<\/p>\n<hr data-nodeid=\"77305\"\/>\n<h2 data-nodeid=\"77306\">\ud83c\udf93 Wnioski<\/h2>\n<p data-nodeid=\"77307\">Model C4 przekszta\u0142ca architektur\u0119 oprogramowania z przera\u017caj\u0105cego, abstrakcyjnego poj\u0119cia w praktyczn\u0105, \u0142atw\u0105 do nawigacji map\u0119. Zaczynaj\u0105c od du\u017cego obrazu i stopniowo przybli\u017caj\u0105c si\u0119, tworzysz dokumentacj\u0119, kt\u00f3ra s\u0142u\u017cy ka\u017cdemu \u2013 od CTO po pocz\u0105tkuj\u0105cych programist\u00f3w.<\/p>\n<p data-nodeid=\"77308\"><strong data-nodeid=\"77638\">Kluczowe wnioski:<\/strong><\/p>\n<p data-nodeid=\"77309\">\u2705\u00a0<strong data-nodeid=\"77676\">Poziom 1<\/strong>\u00a0ustawia scen\u0119 \u2013 nigdy jej nie pomijaj, nawet dla odbiorc\u00f3w technicznych<br \/>\n\u2705\u00a0<strong data-nodeid=\"77677\">Poziom 2<\/strong>\u00a0odkrywa Twoj\u0105 technologiczn\u0105 stosowalno\u015b\u0107 i strategi\u0119 wdra\u017cania<br \/>\n\u2705\u00a0<strong data-nodeid=\"77678\">Poziom 3<\/strong>\u00a0pokazuje, jak zorganizowa\u0142e\u015b kod wewn\u0105trz us\u0142ug<br \/>\n\u2705\u00a0<strong data-nodeid=\"77679\">Poziom 4<\/strong>\u00a0jest opcjonalny \u2013 automatyzuj, gdy to mo\u017cliwe<br \/>\n\u2705\u00a0<strong data-nodeid=\"77680\">Visual Paradigm<\/strong>\u00a0i podobne narz\u0119dzia z funkcjami AI mog\u0105 przyspieszy\u0107 tworzenie diagram\u00f3w o 50\u201370%<br \/>\n\u2705\u00a0<strong data-nodeid=\"77681\">\u017byw\u0105 dokumentacj\u0119<\/strong>\u00a0jest lepsza ni\u017c doskona\u0142a dokumentacja \u2013 aktualizuj j\u0105 iteracyjnie<\/p>\n<p data-nodeid=\"77310\">Pami\u0119taj: celem nie jest tworzenie pi\u0119knych diagram\u00f3w dla ich samego istnienia. Chodzi o u\u0142atwienie komunikacji, skr\u00f3cenie czasu wdra\u017cania nowych cz\u0142onk\u00f3w zespo\u0142u oraz podejmowanie lepszych decyzji architektonicznych. Zaczynaj dzi\u015b od prostego diagramu kontekstu systemu i obserwuj, jak ro\u015bnie zrozumienie zespo\u0142u oraz jego produktywno\u015b\u0107.<\/p>\n<p data-nodeid=\"77311\"><strong data-nodeid=\"77692\">Twoje nast\u0119pne kroki:<\/strong><\/p>\n<ol data-nodeid=\"77312\">\n<li data-nodeid=\"77313\">\n<p data-nodeid=\"77314\">Wybierz jeden z obecnie prowadzonych projekt\u00f3w<\/p>\n<\/li>\n<li data-nodeid=\"77315\">\n<p data-nodeid=\"77316\">Narysuj na papierze lub tablicy diagram poziomu 1<\/p>\n<\/li>\n<li data-nodeid=\"77317\">\n<p data-nodeid=\"77318\">Przekszta\u0142\u0107 go do C4-PlantUML lub Visual Paradigm<\/p>\n<\/li>\n<li data-nodeid=\"77319\">\n<p data-nodeid=\"77320\">Udost\u0119pnij go osobie niezwi\u0105zanej z technik\u0105, aby uzyska\u0107 opini\u0119<\/p>\n<\/li>\n<li data-nodeid=\"77321\">\n<p data-nodeid=\"77322\">Stopniowo dodawaj szczeg\u00f3\u0142y poziomu 2, gdy b\u0119d\u0105 potrzebne<\/p>\n<\/li>\n<\/ol>\n<p data-nodeid=\"77323\">Mi\u0142ego rysowania diagram\u00f3w! \ud83c\udfa8<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wprowadzenie Dokumentacja architektury oprogramowania cz\u0119sto wydaje si\u0119 przesadnie skomplikowana. Programi\u015bci albo tworz\u0105 nadmiernie skomplikowane schematy, kt\u00f3re nikt nie rozumie, albo ca\u0142kowicie pomijaj\u0105 dokumentacj\u0119, zostawiaj\u0105c zespo\u0142y zagubione w labiryncie kodu. Wprowad\u017amy\u00a0model C4\u2014prosty, hierarchiczny spos\u00f3b wizualizacji architektury oprogramowania stworzony przez Simona Browna. Mo\u017cna go por\u00f3wna\u0107 do Google Maps dla Twojego oprogramowania: zaczynasz od widoku ca\u0142ego \u015bwiata i [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[65,70],"tags":[],"class_list":["post-11704","post","type-post","status-publish","format-standard","hentry","category-ai","category-vpascode","loop-entry","clr"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Od du\u017cego obrazu do kodu: Przewodnik dla pocz\u0105tkuj\u0105cych w wizualizacji architektury oprogramowania za pomoc\u0105 modelu C4 - Visual Paradigm Blog<\/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:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Od du\u017cego obrazu do kodu: Przewodnik dla pocz\u0105tkuj\u0105cych w wizualizacji architektury oprogramowania za pomoc\u0105 modelu C4 - Visual Paradigm Blog\" \/>\n<meta property=\"og:description\" content=\"Wprowadzenie Dokumentacja architektury oprogramowania cz\u0119sto wydaje si\u0119 przesadnie skomplikowana. Programi\u015bci albo tworz\u0105 nadmiernie skomplikowane schematy, kt\u00f3re nikt nie rozumie, albo ca\u0142kowicie pomijaj\u0105 dokumentacj\u0119, zostawiaj\u0105c zespo\u0142y zagubione w labiryncie kodu. Wprowad\u017amy\u00a0model C4\u2014prosty, hierarchiczny spos\u00f3b wizualizacji architektury oprogramowania stworzony przez Simona Browna. Mo\u017cna go por\u00f3wna\u0107 do Google Maps dla Twojego oprogramowania: zaczynasz od widoku ca\u0142ego \u015bwiata i [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual Paradigm Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-15T03:18:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-26T10:39:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/lens.usercontent.google.com\/banana?agsi=CmdnbG9iYWw6OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAwZWI6MTo1ZjIyMzE5ODBmZDhlNTE4OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAyZWIyODIwMzM2ODowMDA2NTY5ZDg1NDRlZjRmEAIYASIJaW1hZ2UvcG5n\" \/><meta property=\"og:image\" content=\"https:\/\/lens.usercontent.google.com\/banana?agsi=CmdnbG9iYWw6OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAwZWI6MTo1ZjIyMzE5ODBmZDhlNTE4OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAyZWIyODIwMzM2ODowMDA2NTY5ZDg1NDRlZjRmEAIYASIJaW1hZ2UvcG5n\" \/>\n<meta name=\"author\" content=\"Admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/lens.usercontent.google.com\/banana?agsi=CmdnbG9iYWw6OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAwZWI6MTo1ZjIyMzE5ODBmZDhlNTE4OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAyZWIyODIwMzM2ODowMDA2NTY5ZDg1NDRlZjRmEAIYASIJaW1hZ2UvcG5n\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/\",\"url\":\"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/\",\"name\":\"Od du\u017cego obrazu do kodu: Przewodnik dla pocz\u0105tkuj\u0105cych w wizualizacji architektury oprogramowania za pomoc\u0105 modelu C4 - Visual Paradigm Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/bananaagsiCmdnbG9iYWw6OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAwZWI6MTo1ZjIyMzE5ODBmZDhlNTE4OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAyZWIyODIwMzM2ODowMDA2NTY5ZDg1NDRlZjRmEAIYASIJaW1hZ2UvcG5n.png\",\"datePublished\":\"2026-07-15T03:18:16+00:00\",\"dateModified\":\"2026-07-26T10:39:57+00:00\",\"author\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/#primaryimage\",\"url\":\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/bananaagsiCmdnbG9iYWw6OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAwZWI6MTo1ZjIyMzE5ODBmZDhlNTE4OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAyZWIyODIwMzM2ODowMDA2NTY5ZDg1NDRlZjRmEAIYASIJaW1hZ2UvcG5n.png\",\"contentUrl\":\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/bananaagsiCmdnbG9iYWw6OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAwZWI6MTo1ZjIyMzE5ODBmZDhlNTE4OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAyZWIyODIwMzM2ODowMDA2NTY5ZDg1NDRlZjRmEAIYASIJaW1hZ2UvcG5n.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.visual-paradigm.com\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Od du\u017cego obrazu do kodu: Przewodnik dla pocz\u0105tkuj\u0105cych w wizualizacji architektury oprogramowania za pomoc\u0105 modelu C4\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/#website\",\"url\":\"https:\/\/blog.visual-paradigm.com\/pl\/\",\"name\":\"Visual Paradigm Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.visual-paradigm.com\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\",\"name\":\"Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g\",\"caption\":\"Admin\"},\"url\":\"https:\/\/blog.visual-paradigm.com\/pl\/author\/vpadminuser\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Od du\u017cego obrazu do kodu: Przewodnik dla pocz\u0105tkuj\u0105cych w wizualizacji architektury oprogramowania za pomoc\u0105 modelu C4 - Visual Paradigm Blog","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:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/","og_locale":"pl_PL","og_type":"article","og_title":"Od du\u017cego obrazu do kodu: Przewodnik dla pocz\u0105tkuj\u0105cych w wizualizacji architektury oprogramowania za pomoc\u0105 modelu C4 - Visual Paradigm Blog","og_description":"Wprowadzenie Dokumentacja architektury oprogramowania cz\u0119sto wydaje si\u0119 przesadnie skomplikowana. Programi\u015bci albo tworz\u0105 nadmiernie skomplikowane schematy, kt\u00f3re nikt nie rozumie, albo ca\u0142kowicie pomijaj\u0105 dokumentacj\u0119, zostawiaj\u0105c zespo\u0142y zagubione w labiryncie kodu. Wprowad\u017amy\u00a0model C4\u2014prosty, hierarchiczny spos\u00f3b wizualizacji architektury oprogramowania stworzony przez Simona Browna. Mo\u017cna go por\u00f3wna\u0107 do Google Maps dla Twojego oprogramowania: zaczynasz od widoku ca\u0142ego \u015bwiata i [&hellip;]","og_url":"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/","og_site_name":"Visual Paradigm Blog","article_published_time":"2026-07-15T03:18:16+00:00","article_modified_time":"2026-07-26T10:39:57+00:00","og_image":[{"url":"https:\/\/lens.usercontent.google.com\/banana?agsi=CmdnbG9iYWw6OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAwZWI6MTo1ZjIyMzE5ODBmZDhlNTE4OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAyZWIyODIwMzM2ODowMDA2NTY5ZDg1NDRlZjRmEAIYASIJaW1hZ2UvcG5n","type":"","width":"","height":""},{"url":"https:\/\/lens.usercontent.google.com\/banana?agsi=CmdnbG9iYWw6OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAwZWI6MTo1ZjIyMzE5ODBmZDhlNTE4OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAyZWIyODIwMzM2ODowMDA2NTY5ZDg1NDRlZjRmEAIYASIJaW1hZ2UvcG5n","type":"","width":"","height":""}],"author":"Admin","twitter_card":"summary_large_image","twitter_image":"https:\/\/lens.usercontent.google.com\/banana?agsi=CmdnbG9iYWw6OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAwZWI6MTo1ZjIyMzE5ODBmZDhlNTE4OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAyZWIyODIwMzM2ODowMDA2NTY5ZDg1NDRlZjRmEAIYASIJaW1hZ2UvcG5n","twitter_misc":{"Napisane przez":"Admin","Szacowany czas czytania":"7 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/","url":"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/","name":"Od du\u017cego obrazu do kodu: Przewodnik dla pocz\u0105tkuj\u0105cych w wizualizacji architektury oprogramowania za pomoc\u0105 modelu C4 - Visual Paradigm Blog","isPartOf":{"@id":"https:\/\/blog.visual-paradigm.com\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/#primaryimage"},"image":{"@id":"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/bananaagsiCmdnbG9iYWw6OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAwZWI6MTo1ZjIyMzE5ODBmZDhlNTE4OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAyZWIyODIwMzM2ODowMDA2NTY5ZDg1NDRlZjRmEAIYASIJaW1hZ2UvcG5n.png","datePublished":"2026-07-15T03:18:16+00:00","dateModified":"2026-07-26T10:39:57+00:00","author":{"@id":"https:\/\/blog.visual-paradigm.com\/pl\/#\/schema\/person\/a649c442f11a53040710ddec750926c6"},"breadcrumb":{"@id":"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/#primaryimage","url":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/bananaagsiCmdnbG9iYWw6OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAwZWI6MTo1ZjIyMzE5ODBmZDhlNTE4OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAyZWIyODIwMzM2ODowMDA2NTY5ZDg1NDRlZjRmEAIYASIJaW1hZ2UvcG5n.png","contentUrl":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/bananaagsiCmdnbG9iYWw6OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAwZWI6MTo1ZjIyMzE5ODBmZDhlNTE4OjAwMDA1NWNmZWM3MDAyNmQ6MDAwMDAyZWIyODIwMzM2ODowMDA2NTY5ZDg1NDRlZjRmEAIYASIJaW1hZ2UvcG5n.png"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.visual-paradigm.com\/pl\/from-big-picture-to-code-a-beginners-guide-to-visualizing-software-architecture-with-the-c4-model\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.visual-paradigm.com\/pl\/"},{"@type":"ListItem","position":2,"name":"Od du\u017cego obrazu do kodu: Przewodnik dla pocz\u0105tkuj\u0105cych w wizualizacji architektury oprogramowania za pomoc\u0105 modelu C4"}]},{"@type":"WebSite","@id":"https:\/\/blog.visual-paradigm.com\/pl\/#website","url":"https:\/\/blog.visual-paradigm.com\/pl\/","name":"Visual Paradigm Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.visual-paradigm.com\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Person","@id":"https:\/\/blog.visual-paradigm.com\/pl\/#\/schema\/person\/a649c442f11a53040710ddec750926c6","name":"Admin","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/blog.visual-paradigm.com\/pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g","caption":"Admin"},"url":"https:\/\/blog.visual-paradigm.com\/pl\/author\/vpadminuser\/"}]}},"modified_by":"Admin","_links":{"self":[{"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/posts\/11704","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/comments?post=11704"}],"version-history":[{"count":0,"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/posts\/11704\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/media?parent=11704"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/categories?post=11704"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/pl\/wp-json\/wp\/v2\/tags?post=11704"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}