{"id":528,"date":"2026-08-17T10:20:02","date_gmt":"2026-08-17T10:20:02","guid":{"rendered":"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/"},"modified":"2026-09-03T15:28:05","modified_gmt":"2026-09-03T15:28:05","slug":"stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots","status":"publish","type":"post","link":"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/","title":{"rendered":"Przesta\u0144 przeci\u0105ga\u0107 pude\u0142ka: Generowanie diagram\u00f3w C4 za pomoc\u0105 VPasCode i czat\u00f3w AI"},"content":{"rendered":"<h2>Problem architektury opartej na interfejsie graficznym<\/h2>\n<p>Od lat modelowanie C4 utkn\u0119\u0142o w paradoksie: promujemy ide\u0119 \u201earchitektury jako kodu\u201d, ale wi\u0119kszo\u015b\u0107 zespo\u0142\u00f3w nadal tworzy swoje diagramy C4, przeci\u0105gaj\u0105c pude\u0142ka w interfejsie graficznym. Prowadzi to do przestarza\u0142ej dokumentacji, konflikt\u00f3w scalania w plikach binarnych oraz rozbie\u017cno\u015bci mi\u0119dzy diagramem a rzeczywistym systemem.<\/p>\n<p>Wsp\u00f3\u0142czesne zespo\u0142y deweloperskie potrzebuj\u0105 procesu, w kt\u00f3rym<strong>rozmowa inspiruje projektowanie<\/strong>a<strong>kod je podtrzymuje<\/strong>. \u0141\u0105cz\u0105c narz\u0119dzia Visual Paradigm<strong>czat AI<\/strong>z<strong>VPasCode<\/strong>mo\u017cesz w kilka minut przej\u015b\u0107 od polece\u0144 w j\u0119zyku naturalnym do gotowego do produkcji kodu C4 PlantUML \u2014 bez konieczno\u015bci u\u017cywania myszy.<\/p>\n<p id=\"iFGCRTH\"><img fetchpriority=\"high\" alt=\"Modelowanie C4 nap\u0119dzane konwersj\u0105 | Visual Paradigm\" class=\"alignnone wp-image-1149 size-full\" decoding=\"async\" fetchpriority=\"high\" height=\"572\" sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png\" srcset=\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png 1024w, https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401-300x168.png 300w, https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401-768x429.png 768w\" width=\"1024\"\/><\/p>\n<p>Ten przewodnik pokazuje ten proces na konkretnych przyk\u0142adach PlantUML.<\/p>\n<hr\/>\n<h2>Faza 1: Projektowanie konwersacyjne z czatem AI<\/h2>\n<p>Czat AI w Visual Paradigm dzia\u0142a jak architekturalny wsp\u00f3\u0142pilot. Zamiast zaczyna\u0107 od pustego p\u0142\u00f3tna, zaczynasz od intencji.<\/p>\n<h3>\u2705 Skuteczna strategia formu\u0142owania polece\u0144<\/h3>\n<p>Nie pro\u015b AI o \u201enarysowanie diagramu\u201d. Popro\u015b j\u0105 o<strong>zamodelowanie systemu przy u\u017cyciu semantyki C4<\/strong>. B\u0105d\u017a precyzyjny co do granic, technologii i przep\u0142yw\u00f3w danych.<\/p>\n<blockquote>\n<p><strong>\ud83d\udcac Przyk\u0142adowe polecenie dla czatu AI:<\/strong><br \/>\n\u201eDzia\u0142aj jako architekt oprogramowania. Stw\u00f3rz diagram kontener\u00f3w C4 dla systemu &#8216;Bankowo\u015b\u0107 Online&#8217;. Uwzgl\u0119dnij aplikacj\u0119 webow\u0105 (React), aplikacj\u0119 mobiln\u0105 (Flutter), bramk\u0119 API (Kong), us\u0142ug\u0119 bankowo\u015bci g\u0142\u00f3wnej (.NET) oraz baz\u0119 danych PostgreSQL. Poka\u017c przep\u0142yw uwierzytelniania przez OAuth2 oraz zapytania o stan konta. Wygeneruj poprawny kod C4-PlantUML, u\u017cywaj\u0105c oficjalnych makr.\u201d<\/p>\n<\/blockquote>\n<h3>\ud83e\udd16 Oczekiwany wynik AI (po dopracowaniu)<\/h3>\n<p>AI wygeneruje model PlantUML w wersji roboczej. Przejrzyj go krytycznie \u2014 AI \u015bwietnie radzi sobie ze struktur\u0105, ale mo\u017ce zmy\u015bla\u0107 relacje. U\u017cyj kolejnych polece\u0144 w czacie, aby dopracowa\u0107:<em>\u201eDodaj pami\u0119\u0107 podr\u0119czn\u0105 Redis mi\u0119dzy bramk\u0105 API a us\u0142ug\u0105 bankowo\u015bci g\u0142\u00f3wnej w celu zarz\u0105dzania sesjami\u201d<\/em>lub<em>\u201eOznacz baz\u0119 PostgreSQL jako przestarza\u0142\u0105 i dodaj nowy klaster MongoDB.\u201d<\/em><\/p>\n<hr\/>\n<h2>Faza 2: Modelowanie deterministyczne z u\u017cyciem VPasCode i PlantUML<\/h2>\n<p>Gdy AI wygeneruje wykonaln\u0105 wersj\u0119 robocz\u0105,<strong>przesta\u0144 rozmawia\u0107 i zacznij kodowa\u0107<\/strong>. Skopiuj dopracowany kod PlantUML do<code data-backticks=\"1\">.puml<\/code>plik zarz\u0105dzany przez VPasCode. To jest Twoje jedyne \u017ar\u00f3d\u0142o prawdy.<\/p>\n<p>Poni\u017cej znajduj\u0105 si\u0119 gotowe do produkcji przyk\u0142ady C4 PlantUML wygenerowane w tym przep\u0142ywie pracy. Upewnij si\u0119, \u017ce Tw\u00f3j projekt Visual Paradigm zawiera bibliotek\u0119<a href=\"https:\/\/github.com\/plantuml-stdlib\/C4-PlantUML\">bibliotek\u0119 C4-PlantUML<\/a>.<\/p>\n<h3>Przyk\u0142ad 1: Diagram kontekstu systemu (Poziom 1)<\/h3>\n<p>To definiuje granice Twojego systemu i jego zewn\u0119trznych aktor\u00f3w.<\/p>\n<p><img alt=\"Interfejs VPasCode pokazuj\u0105cy wygenerowany diagram kontekstu systemu C4 Poziom 1 dla platformy bankowo\u015bci internetowej.\" decoding=\"async\" src=\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e0d8e22d9.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:TPF1Rk9038RlIBo3oubAb4YhFVLKDelKIaL4X6wFbJDnOCHa1iquKDv-FKc0ijMUel7u_sp_dZm5HizDRM1fZRRq2-rEsyr7wYpJ9my7TzegqvG4M-PzU4mIZyVfHlEsAPf0NiKyorFbwcHlq4RKG-3Iw299VpvaCVIsU4rg34nUGcVoT2-Pmy5mm9eDGNwI-nhwoyU-6-ZR0U5mvNmT1HdvuEnODO5TJNu2evW5QNyUIU2FfcC0LCerbiC4sACDbUYWQcmfWJsU0XJQc32wln2nhBLjSMe7owhIYc0MOn6vG8iR2X275a3jh6Odm1QDYhMpBMiuw4OP5rth8ltFB96QUNVGfM2rpEqjCVGoa387QI30GICSgG2qfLILdkbhcO_v9u-Ly_HA6rGdGQPokDHQeBQLnvhwOW8CTDlq1BREb06w3O6XSYCctjyKe1gr4S8yVY7lMel8dCHEi8wrk8KjhsrKNfLevM64VqWE6zv6JsRo_G7z_EtIdaLeeXMbw3IVMb1CZySEtas-8lDb-rUVtsIq5hHUPtdoJaNkr8uuYgAaN-yrlr_fHN9El6JS-BeYB4FoxZLtajKyNoVvSfPzavtTwin1GvvRHRvOPyaiU_acE9iokmxRrLY-_4wxcP-49J_CNm00\" 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:TPF1Rk9038RlIBo3oubAb4YhFVLKDelKIaL4X6wFbJDnOCHa1iquKDv-FKc0ijMUel7u_sp_dZm5HizDRM1fZRRq2-rEsyr7wYpJ9my7TzegqvG4M-PzU4mIZyVfHlEsAPf0NiKyorFbwcHlq4RKG-3Iw299VpvaCVIsU4rg34nUGcVoT2-Pmy5mm9eDGNwI-nhwoyU-6-ZR0U5mvNmT1HdvuEnODO5TJNu2evW5QNyUIU2FfcC0LCerbiC4sACDbUYWQcmfWJsU0XJQc32wln2nhBLjSMe7owhIYc0MOn6vG8iR2X275a3jh6Odm1QDYhMpBMiuw4OP5rth8ltFB96QUNVGfM2rpEqjCVGoa387QI30GICSgG2qfLILdkbhcO_v9u-Ly_HA6rGdGQPokDHQeBQLnvhwOW8CTDlq1BREb06w3O6XSYCctjyKe1gr4S8yVY7lMel8dCHEi8wrk8KjhsrKNfLevM64VqWE6zv6JsRo_G7z_EtIdaLeeXMbw3IVMb1CZySEtas-8lDb-rUVtsIq5hHUPtdoJaNkr8uuYgAaN-yrlr_fHN9El6JS-BeYB4FoxZLtajKyNoVvSfPzavtTwin1GvvRHRvOPyaiU_acE9iokmxRrLY-_4wxcP-49J_CNm00\" 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:XPFFJjj04CRlaV8EMqvK0YnLFN4Y3QX5W6AHH4YzeF5wS0PxTwFz8-CSaL2V0V4OlN9h_5wTTKW8eAgd9AFvVZFVDviZvy7we2enqXLf_0Qw95rS3utsUEVxlK-aPHLo53Flv-umIIpK1mNvMSY2GojZd_O7qgXaNe6Eg7tdyugoPFXrFusbwSLvei1vj5nQam_ctDdlzNkUV8NYB5PBvuLhk565Gy5IVsEi0f7nJgOsxPCaGTncDNfJusrKfsYTqRioE6yKsZsnSrOHB_GYQdQuaje55jNo8GTHyXZO4tEkkAQz1z4-MPENn2N-nNmBSXOuWftF6pRaYZHZ1l6JdBVWZHKP1GkH_XFiWjaB4A5zRZmFrLI2OgGochWrtA9WaNPGobkCu7vltBdSpLPfnnt_wtOrQuwCvr6klGy5_REvSxWGDMQ2U8-CAarlHb-VtFbTQIoUOm6oOVRtzlxFxretGW7f6miAtsVeQxOAMrvMGSgPgQF7OWLOFeZIqVAnM3x6WLlZaCaLiwRTyY1mFnOY_QfPNMDkQeBSABuWcoHHDvAM3mMz0na8ViQoOyEljvOWHWCkV8caKTR1kynD--n0SJZBNymADQ5TD1uv2jYaSOdLrkDvlSUKRrbtz_qncQJZv0gpiP4b-YYBefTNyQhOl8EDQDswwNcJzoYNl0qlcl1LoV6NABmy6K-IyMYGVX2lqrjd1HLQtzrcV359aq5w-a6opccwRRrBwVHukF9_X3hdF-9V\" \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 OnlineBanking_Context\r\n!include https:\/\/raw.githubusercontent.com\/plantuml-stdlib\/C4-PlantUML\/master\/C4_Context.puml\r\n\r\ntitle Kontekst systemu: Platforma bankowo\u015bci internetowej\r\n\r\nPerson(customer, \"Klient bankowy\", \"Przegl\u0105da konta, przesy\u0142a \u015brodki, p\u0142aci rachunki\")\r\nPerson(admin, \"Administrator biura\", \"Zarz\u0105dza u\u017cytkownikami, monitoruje transakcje\")\r\n\r\nSystem(banking, \"Platforma bankowo\u015bci internetowej\", \"Zapewnia us\u0142ugi bankowo\u015bci internetowej przez web i mobilnie\")\r\n\r\nSystem_Ext(coreLegacy, \"G\u0142\u00f3wny mainframe bankowy\", \"Przetwarza transakcje, przechowuje g\u0142\u00f3wn\u0105 ksi\u0119g\u0119\")\r\nSystem_Ext(email, \"Us\u0142uga e-mail\", \"Wysy\u0142a powiadomienia i wyci\u0105gi\")\r\nSystem_Ext(oauth, \"Dostawca OAuth2\", \"Obs\u0142uguje to\u017csamo\u015b\u0107 i uwierzytelnianie\")\r\n\r\nRel(customer, banking, \"U\u017cywa\", \"HTTPS\/WebSocket\")\r\nRel(admin, banking, \"Zarz\u0105dza\", \"HTTPS\")\r\nRel(banking, coreLegacy, \"Odczytuje\/Zapisuje\", \"REST\/SOAP\")\r\nRel(banking, email, \"Wysy\u0142a alerty\", \"SMTP\/API\")\r\nRel(banking, oauth, \"Uwierzytelnia\", \"OIDC\")\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:XPFFJjj04CRlaV8EMqvK0YnLFN4Y3QX5W6AHH4YzeF5wS0PxTwFz8-CSaL2V0V4OlN9h_5wTTKW8eAgd9AFvVZFVDviZvy7we2enqXLf_0Qw95rS3utsUEVxlK-aPHLo53Flv-umIIpK1mNvMSY2GojZd_O7qgXaNe6Eg7tdyugoPFXrFusbwSLvei1vj5nQam_ctDdlzNkUV8NYB5PBvuLhk565Gy5IVsEi0f7nJgOsxPCaGTncDNfJusrKfsYTqRioE6yKsZsnSrOHB_GYQdQuaje55jNo8GTHyXZO4tEkkAQz1z4-MPENn2N-nNmBSXOuWftF6pRaYZHZ1l6JdBVWZHKP1GkH_XFiWjaB4A5zRZmFrLI2OgGochWrtA9WaNPGobkCu7vltBdSpLPfnnt_wtOrQuwCvr6klGy5_REvSxWGDMQ2U8-CAarlHb-VtFbTQIoUOm6oOVRtzlxFxretGW7f6miAtsVeQxOAMrvMGSgPgQF7OWLOFeZIqVAnM3x6WLlZaCaLiwRTyY1mFnOY_QfPNMDkQeBSABuWcoHHDvAM3mMz0na8ViQoOyEljvOWHWCkV8caKTR1kynD--n0SJZBNymADQ5TD1uv2jYaSOdLrkDvlSUKRrbtz_qncQJZv0gpiP4b-YYBefTNyQhOl8EDQDswwNcJzoYNl0qlcl1LoV6NABmy6K-IyMYGVX2lqrjd1HLQtzrcV359aq5w-a6opccwRRrBwVHukF9_X3hdF-9V\" \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:TPF1Rk9038RlIBo3oubAb4YhFVLKDelKIaL4X6wFbJDnOCHa1iquKDv-FKc0ijMUel7u_sp_dZm5HizDRM1fZRRq2-rEsyr7wYpJ9my7TzegqvG4M-PzU4mIZyVfHlEsAPf0NiKyorFbwcHlq4RKG-3Iw299VpvaCVIsU4rg34nUGcVoT2-Pmy5mm9eDGNwI-nhwoyU-6-ZR0U5mvNmT1HdvuEnODO5TJNu2evW5QNyUIU2FfcC0LCerbiC4sACDbUYWQcmfWJsU0XJQc32wln2nhBLjSMe7owhIYc0MOn6vG8iR2X275a3jh6Odm1QDYhMpBMiuw4OP5rth8ltFB96QUNVGfM2rpEqjCVGoa387QI30GICSgG2qfLILdkbhcO_v9u-Ly_HA6rGdGQPokDHQeBQLnvhwOW8CTDlq1BREb06w3O6XSYCctjyKe1gr4S8yVY7lMel8dCHEi8wrk8KjhsrKNfLevM64VqWE6zv6JsRo_G7z_EtIdaLeeXMbw3IVMb1CZySEtas-8lDb-rUVtsIq5hHUPtdoJaNkr8uuYgAaN-yrlr_fHN9El6JS-BeYB4FoxZLtajKyNoVvSfPzavtTwin1GvvRHRvOPyaiU_acE9iokmxRrLY-_4wxcP-49J_CNm00\" 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:TPF1Rk9038RlIBo3oubAb4YhFVLKDelKIaL4X6wFbJDnOCHa1iquKDv-FKc0ijMUel7u_sp_dZm5HizDRM1fZRRq2-rEsyr7wYpJ9my7TzegqvG4M-PzU4mIZyVfHlEsAPf0NiKyorFbwcHlq4RKG-3Iw299VpvaCVIsU4rg34nUGcVoT2-Pmy5mm9eDGNwI-nhwoyU-6-ZR0U5mvNmT1HdvuEnODO5TJNu2evW5QNyUIU2FfcC0LCerbiC4sACDbUYWQcmfWJsU0XJQc32wln2nhBLjSMe7owhIYc0MOn6vG8iR2X275a3jh6Odm1QDYhMpBMiuw4OP5rth8ltFB96QUNVGfM2rpEqjCVGoa387QI30GICSgG2qfLILdkbhcO_v9u-Ly_HA6rGdGQPokDHQeBQLnvhwOW8CTDlq1BREb06w3O6XSYCctjyKe1gr4S8yVY7lMel8dCHEi8wrk8KjhsrKNfLevM64VqWE6zv6JsRo_G7z_EtIdaLeeXMbw3IVMb1CZySEtas-8lDb-rUVtsIq5hHUPtdoJaNkr8uuYgAaN-yrlr_fHN9El6JS-BeYB4FoxZLtajKyNoVvSfPzavtTwin1GvvRHRvOPyaiU_acE9iokmxRrLY-_4wxcP-49J_CNm00\" 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>Przyk\u0142ad 2: Diagram kontener\u00f3w (Poziom 2)<\/h3>\n<p>Rozk\u0142ada system na kontenery czas\u00f3w wykonania. Zwr\u00f3\u0107 uwag\u0119 na u\u017cycie<code data-backticks=\"1\">ContainerDb<\/code>,\u00a0<code data-backticks=\"1\">ContainerQueue<\/code>, oraz znacznik\u00f3w technologii \u2014 kluczowych dla nowoczesnych system\u00f3w natywnych dla chmury.<\/p>\n<p><img alt=\"Diagram kontener\u00f3w C4 Poziom 2 platformy bankowo\u015bci internetowej pokazuj\u0105cy Aplikacj\u0119 Webow\u0105, Aplikacj\u0119 Mobiln\u0105, Bram\u0119 API, Us\u0142ug\u0119 Konta, Bufor Sesji i Baz\u0119 Danych Konta.\" decoding=\"async\" src=\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e0eed06f8.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:XLJ1Rjf04BqZyGzJ3XLH2PQg7ggSuW1jauPWOj8SexKzCTkiTztTDGHL_VVEsCOX8bMvi3kyUVDsvWtdpWlhgqB1GYkfyKBe9wdpXudHNj3TkdxldTIfgZA4jVUbEmi2AxRZNFfrbLGERKfGr7wScY8ebT3CTkfyfcGIJ3wTHXowcry7XN0UBOLUoCSbOVkzVizBhn2wE4oboAqepbfLqCe28lEFnXQS4v4ueuTfvRmfq8vWm2YOjFV12OFY7HKj7YvCfJDXTyEa8IBmFvW79_2xtmFwT6g6Mqn4MLBEFIOGbgMIgV3Iw065Rb6a7Zx0ZSbm_DDnA8v282f8hDbIVquJuJ23jZBBUirUc4GgfBnvVU02pF95LPxwnKUvY8DGPzR833HLtY3WSubMeaxnc52KafB2w1A-2ezRiMEExuPgirvJUNHWyLU5phiHMCA0aeNqTLz4vTUm4KfcpHEFsEb56vcotZ1DgQqUuYR2xEERsGe-y-cYSWHt3fJ9PLhtGpHu1--f6UIA5DqnVIhIDPF7b4lrOSBtfj6PRDhhZQKNNDslm9idrCpdMZIvsHztP9eCi-H0y5HumKDXjiWudrkCbzTysvkdqphgf8x0Mw4TJPiA7GjVLbZX43TO9mrcV01gGYrT98dqyoMVGxVJwI4LQEFbO-keclVFWN5dptveU2Ris92-Fq9apKPcZS4FK0fpaUxu3TIUpjPp4lT8cuJDEjoYEbYOpjTtr3yMzssrYc96liPr3dqJjsTfR3SHIZMFdiMhu2fUtEnnUvR_uUhVzs_-qJYHvbtFcXCMbzF9A-oB8rjpUyEu_3RgS1raRozQsym5zrOoldKF9wqcqL5ExHsQB-rROy3bTV0MhXj-L2LAkdM33kVBOsWth9ZSG3k2MTwiUhm8esPKvwWp-dVy2m00\" 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:XLJ1Rjf04BqZyGzJ3XLH2PQg7ggSuW1jauPWOj8SexKzCTkiTztTDGHL_VVEsCOX8bMvi3kyUVDsvWtdpWlhgqB1GYkfyKBe9wdpXudHNj3TkdxldTIfgZA4jVUbEmi2AxRZNFfrbLGERKfGr7wScY8ebT3CTkfyfcGIJ3wTHXowcry7XN0UBOLUoCSbOVkzVizBhn2wE4oboAqepbfLqCe28lEFnXQS4v4ueuTfvRmfq8vWm2YOjFV12OFY7HKj7YvCfJDXTyEa8IBmFvW79_2xtmFwT6g6Mqn4MLBEFIOGbgMIgV3Iw065Rb6a7Zx0ZSbm_DDnA8v282f8hDbIVquJuJ23jZBBUirUc4GgfBnvVU02pF95LPxwnKUvY8DGPzR833HLtY3WSubMeaxnc52KafB2w1A-2ezRiMEExuPgirvJUNHWyLU5phiHMCA0aeNqTLz4vTUm4KfcpHEFsEb56vcotZ1DgQqUuYR2xEERsGe-y-cYSWHt3fJ9PLhtGpHu1--f6UIA5DqnVIhIDPF7b4lrOSBtfj6PRDhhZQKNNDslm9idrCpdMZIvsHztP9eCi-H0y5HumKDXjiWudrkCbzTysvkdqphgf8x0Mw4TJPiA7GjVLbZX43TO9mrcV01gGYrT98dqyoMVGxVJwI4LQEFbO-keclVFWN5dptveU2Ris92-Fq9apKPcZS4FK0fpaUxu3TIUpjPp4lT8cuJDEjoYEbYOpjTtr3yMzssrYc96liPr3dqJjsTfR3SHIZMFdiMhu2fUtEnnUvR_uUhVzs_-qJYHvbtFcXCMbzF9A-oB8rjpUyEu_3RgS1raRozQsym5zrOoldKF9wqcqL5ExHsQB-rROy3bTV0MhXj-L2LAkdM33kVBOsWth9ZSG3k2MTwiUhm8esPKvwWp-dVy2m00\" 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:ZLHDRzD04BrNwdzOUaf56qk80-gfQLgWRPeuTQf8NAhnUkfiOkzQk-iQ6t6fGFo6Yf_1jJUI_yMiyzKG4EIIzUhDcpSpR_ROMD0sJnFMaucGU09o8cHysrRI0drhixlpGaYUv16oaRMPEV8y3KKp5dQKXxb1pGcAqZQvIhqi0UdO3esD4X5wxTU7lhkwkUfuAHYBcgxMvCsCiBixkpjMs0JPgO1OGyecDIFgdp-A8qRnzaxf55X8sbIXPj-vO88GMg9L1OuTWKzAbMpmt5YLeZvWUvU985MBe79ltw62aYIajoSgbn7eiX7EgoNqlxFixRDFkpkCVYlvZG93o38ARsM9c00V0wChLS0UtLqZSCjUigwAi3asxYhmMonADdCKBDCLnidqAqdYw8Hk9abLA1BSI59VoJhBsoIt9D8Tks3BGYABYBWG4F4AfK0cUe7Naf5M8jecXqnGv0br7LZBFtSqbqh6xjydMHE1MXNv6DdioGcK0WvO8b91BQ4FKbL08g9Q5EHMwRAYizZEGpwv5znLSMDc3taCzP3h2fhTim5xuquT5LE1B1ILH4C9wbuv71ECV2h93ukmBNuEVEJOVKZ5z77wZMKgqjD7NabW1Wr9gYSI2RCiZO_cXLarGLcoY-5WaMM1_pt5QTY8GjShg4WOo9AFrZNuojXOOz3lB3feINXjGD9yKDEMS_G1ingaWGaVRy-wdsEE3RodEEFiKfKalo9VL3ZxKbS0OIZiLT-TMwQKVAIL55GbKi5kvYgbf0AOMgUXphX4dvyjmDb7sr0qhn7Hd99qA3YmNeikNZdeCrI2CV2IOEzc3rGALP6IqZlo2swkrZKcpxPljHWtiwTolWxl1mC_SDXDvChTVq4kcUP67PQqDGyqjhePPy70kmXwtILsoVK_s1gpxC7GcNXb1eVldP-sDw1h0s_kHQGSFBxsL_0LSkd97crYQGdiVI0guwASnQQFBdBGzhS2QvyDI_ABmrQGbTPjNls2z3lUdq9Mdl7pa5w9HTMjg_usT3NIOEcVogMP65gSU2ugwBNy-LYFKKRqHly2\" \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 OnlineBanking_Containers\r\n!include https:\/\/raw.githubusercontent.com\/plantuml-stdlib\/C4-PlantUML\/master\/C4_Container.puml\r\n\r\ntitle Diagram kontener\u00f3w: Platforma bankowo\u015bci internetowej\r\n\r\nPerson(customer, \"Klient bankowy\")\r\n\r\nSystem_Boundary(banking, \"Platforma bankowo\u015bci internetowej\") {\r\n    Container(webapp, \"Aplikacja webowa\", \"React + Node.js\", \"SPA dla bankowo\u015bci w przegl\u0105darce\")\r\n    Container(mobile, \"Aplikacja mobilna\", \"Flutter\", \"Natywne do\u015bwiadczenie iOS\/Android\")\r\n    Container(api, \"Brama API\", \"Kong\", \"Przekierowuje \u017c\u0105dania, limitowanie, walidacja autoryzacji\")\r\n    Container(service, \"Us\u0142uga konta\", \".NET 8\", \"Logika biznesowa dla kont i stan\u00f3w konta\")\r\n    Container(cache, \"Pami\u0119\u0107 podr\u0119czna sesji\", \"Redis\", \"Przechowuje tokeny JWT i stan sesji\")\r\n    ContainerDb(db, \"Baza danych konta\", \"PostgreSQL\", \"Konta klient\u00f3w, stany konta, transakcje\")\r\n    ContainerQueue(events, \"Szyna zdarze\u0144\", \"RabbitMQ\", \"Asynchroniczne powiadomienia o transakcjach\")\r\n}\r\n\r\nSystem_Ext(oauth, \"Dostawca OAuth2\")\r\nSystem_Ext(legacy, \"G\u0142\u00f3wny mainframe bankowy\")\r\n\r\nRel(customer, webapp, \"U\u017cywa\", \"HTTPS\")\r\nRel(customer, mobile, \"U\u017cywa\", \"HTTPS\")\r\nRel(webapp, api, \"Wywo\u0142uje\", \"REST\/JSON\")\r\nRel(mobile, api, \"Wywo\u0142uje\", \"REST\/JSON\")\r\nRel(api, oauth, \"Waliduje token\", \"OIDC\")\r\nRel(api, service, \"Przekierowuje do\", \"gRPC\")\r\nRel(service, cache, \"Odczytuje\/Zapisuje sesj\u0119\", \"TCP\")\r\nRel(service, db, \"Wykonuje zapytania\", \"SQL\/TCP\")\r\nRel(service, events, \"Publikuje\", \"AMQP\")\r\nRel(service, legacy, \"Synchronizuje ksi\u0119g\u0119\", \"SOAP\")\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:ZLHDRzD04BrNwdzOUaf56qk80-gfQLgWRPeuTQf8NAhnUkfiOkzQk-iQ6t6fGFo6Yf_1jJUI_yMiyzKG4EIIzUhDcpSpR_ROMD0sJnFMaucGU09o8cHysrRI0drhixlpGaYUv16oaRMPEV8y3KKp5dQKXxb1pGcAqZQvIhqi0UdO3esD4X5wxTU7lhkwkUfuAHYBcgxMvCsCiBixkpjMs0JPgO1OGyecDIFgdp-A8qRnzaxf55X8sbIXPj-vO88GMg9L1OuTWKzAbMpmt5YLeZvWUvU985MBe79ltw62aYIajoSgbn7eiX7EgoNqlxFixRDFkpkCVYlvZG93o38ARsM9c00V0wChLS0UtLqZSCjUigwAi3asxYhmMonADdCKBDCLnidqAqdYw8Hk9abLA1BSI59VoJhBsoIt9D8Tks3BGYABYBWG4F4AfK0cUe7Naf5M8jecXqnGv0br7LZBFtSqbqh6xjydMHE1MXNv6DdioGcK0WvO8b91BQ4FKbL08g9Q5EHMwRAYizZEGpwv5znLSMDc3taCzP3h2fhTim5xuquT5LE1B1ILH4C9wbuv71ECV2h93ukmBNuEVEJOVKZ5z77wZMKgqjD7NabW1Wr9gYSI2RCiZO_cXLarGLcoY-5WaMM1_pt5QTY8GjShg4WOo9AFrZNuojXOOz3lB3feINXjGD9yKDEMS_G1ingaWGaVRy-wdsEE3RodEEFiKfKalo9VL3ZxKbS0OIZiLT-TMwQKVAIL55GbKi5kvYgbf0AOMgUXphX4dvyjmDb7sr0qhn7Hd99qA3YmNeikNZdeCrI2CV2IOEzc3rGALP6IqZlo2swkrZKcpxPljHWtiwTolWxl1mC_SDXDvChTVq4kcUP67PQqDGyqjhePPy70kmXwtILsoVK_s1gpxC7GcNXb1eVldP-sDw1h0s_kHQGSFBxsL_0LSkd97crYQGdiVI0guwASnQQFBdBGzhS2QvyDI_ABmrQGbTPjNls2z3lUdq9Mdl7pa5w9HTMjg_usT3NIOEcVogMP65gSU2ugwBNy-LYFKKRqHly2\" \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:XLJ1Rjf04BqZyGzJ3XLH2PQg7ggSuW1jauPWOj8SexKzCTkiTztTDGHL_VVEsCOX8bMvi3kyUVDsvWtdpWlhgqB1GYkfyKBe9wdpXudHNj3TkdxldTIfgZA4jVUbEmi2AxRZNFfrbLGERKfGr7wScY8ebT3CTkfyfcGIJ3wTHXowcry7XN0UBOLUoCSbOVkzVizBhn2wE4oboAqepbfLqCe28lEFnXQS4v4ueuTfvRmfq8vWm2YOjFV12OFY7HKj7YvCfJDXTyEa8IBmFvW79_2xtmFwT6g6Mqn4MLBEFIOGbgMIgV3Iw065Rb6a7Zx0ZSbm_DDnA8v282f8hDbIVquJuJ23jZBBUirUc4GgfBnvVU02pF95LPxwnKUvY8DGPzR833HLtY3WSubMeaxnc52KafB2w1A-2ezRiMEExuPgirvJUNHWyLU5phiHMCA0aeNqTLz4vTUm4KfcpHEFsEb56vcotZ1DgQqUuYR2xEERsGe-y-cYSWHt3fJ9PLhtGpHu1--f6UIA5DqnVIhIDPF7b4lrOSBtfj6PRDhhZQKNNDslm9idrCpdMZIvsHztP9eCi-H0y5HumKDXjiWudrkCbzTysvkdqphgf8x0Mw4TJPiA7GjVLbZX43TO9mrcV01gGYrT98dqyoMVGxVJwI4LQEFbO-keclVFWN5dptveU2Ris92-Fq9apKPcZS4FK0fpaUxu3TIUpjPp4lT8cuJDEjoYEbYOpjTtr3yMzssrYc96liPr3dqJjsTfR3SHIZMFdiMhu2fUtEnnUvR_uUhVzs_-qJYHvbtFcXCMbzF9A-oB8rjpUyEu_3RgS1raRozQsym5zrOoldKF9wqcqL5ExHsQB-rROy3bTV0MhXj-L2LAkdM33kVBOsWth9ZSG3k2MTwiUhm8esPKvwWp-dVy2m00\" 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:XLJ1Rjf04BqZyGzJ3XLH2PQg7ggSuW1jauPWOj8SexKzCTkiTztTDGHL_VVEsCOX8bMvi3kyUVDsvWtdpWlhgqB1GYkfyKBe9wdpXudHNj3TkdxldTIfgZA4jVUbEmi2AxRZNFfrbLGERKfGr7wScY8ebT3CTkfyfcGIJ3wTHXowcry7XN0UBOLUoCSbOVkzVizBhn2wE4oboAqepbfLqCe28lEFnXQS4v4ueuTfvRmfq8vWm2YOjFV12OFY7HKj7YvCfJDXTyEa8IBmFvW79_2xtmFwT6g6Mqn4MLBEFIOGbgMIgV3Iw065Rb6a7Zx0ZSbm_DDnA8v282f8hDbIVquJuJ23jZBBUirUc4GgfBnvVU02pF95LPxwnKUvY8DGPzR833HLtY3WSubMeaxnc52KafB2w1A-2ezRiMEExuPgirvJUNHWyLU5phiHMCA0aeNqTLz4vTUm4KfcpHEFsEb56vcotZ1DgQqUuYR2xEERsGe-y-cYSWHt3fJ9PLhtGpHu1--f6UIA5DqnVIhIDPF7b4lrOSBtfj6PRDhhZQKNNDslm9idrCpdMZIvsHztP9eCi-H0y5HumKDXjiWudrkCbzTysvkdqphgf8x0Mw4TJPiA7GjVLbZX43TO9mrcV01gGYrT98dqyoMVGxVJwI4LQEFbO-keclVFWN5dptveU2Ris92-Fq9apKPcZS4FK0fpaUxu3TIUpjPp4lT8cuJDEjoYEbYOpjTtr3yMzssrYc96liPr3dqJjsTfR3SHIZMFdiMhu2fUtEnnUvR_uUhVzs_-qJYHvbtFcXCMbzF9A-oB8rjpUyEu_3RgS1raRozQsym5zrOoldKF9wqcqL5ExHsQB-rROy3bTV0MhXj-L2LAkdM33kVBOsWth9ZSG3k2MTwiUhm8esPKvwWp-dVy2m00\" 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>Przyk\u0142ad 3: Diagram komponent\u00f3w (Poziom 3) \u2013 Us\u0142uga konta<\/h3>\n<p>Przybli\u017ca pojedynczy kontener. To tutaj VPasCode b\u0142yszczy: komponenty mapuj\u0105 si\u0119 bezpo\u015brednio na modu\u0142y kodu.<\/p>\n<p><img alt=\"Kod C# w VPasCode generuj\u0105cy diagram komponent\u00f3w Us\u0142ugi Konta C4 Poziom 3 z Bram\u0105 API i Middleware Autoryzacji.\" decoding=\"async\" src=\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e1166edd6.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:NLFBRjim4BmRy3zitOi3EDQbXoAdEB9TfBKB-T7sM53InbwK4bLowJZz-Yuf-PMJnENiS3YpV7IiBFjAmwGeZAzvW_P01VvEJTMO6cjs_Tu7gWljIuGzS-CUaiIgr_6EUEzpxz0MfcO1ZWjJ9OrMTQ2xTrngofFqqtqMIZ-MYwHIZj5AwK8-RWJRx_LxJAmHpdMOajfPLJsSP46d2uRZxxCjVBuBJQaShAX6ErGDZM0moPxXYs9yLMy3MNupzMvmTmMRviCo3xYES_eKO9bnlBEuMIrkm2kF7eTu21O8QXP-uCcxqB9MUKwyN0qw6PtgeVAy3_poWIMLfHOf5aF7P9D5uNFIua6e_5IQIX7huEklxGZmo5OLx20u2j7I8xU2JkoXQ8tMQ2ztIC-rwrF4Y2Xpjja2rcLZI2u1ByP2eje-TqjTcaekVQ6TndNdUQ1AFqAgbNEmeDmg6_rzKfAiH58eNOn0vDVkHRHRh_4TlSN6NCZNidB4fcMPpINsrgIfOWKY49qu_jUZVGFJC5NqJp6P-fQpyRacjuzcn72oKo5GBKNhDYWYZXbtUmvYKOmMli2baR64DkKspJNgTfowC3DXaZwB8iZ5H28YRjuaCZTMqYvTR1G-AbJWVjTutN9s_Ra-c3zoY3md6JrnMPiT5QUM4wnpKGRJ4heaG-l8jR83hDsE0puxOk73Q7L3VSrourj5CXVjpfK90Nu5Ex-1iujnrfQhh7NiKKPCdl5_\" 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:NLFBRjim4BmRy3zitOi3EDQbXoAdEB9TfBKB-T7sM53InbwK4bLowJZz-Yuf-PMJnENiS3YpV7IiBFjAmwGeZAzvW_P01VvEJTMO6cjs_Tu7gWljIuGzS-CUaiIgr_6EUEzpxz0MfcO1ZWjJ9OrMTQ2xTrngofFqqtqMIZ-MYwHIZj5AwK8-RWJRx_LxJAmHpdMOajfPLJsSP46d2uRZxxCjVBuBJQaShAX6ErGDZM0moPxXYs9yLMy3MNupzMvmTmMRviCo3xYES_eKO9bnlBEuMIrkm2kF7eTu21O8QXP-uCcxqB9MUKwyN0qw6PtgeVAy3_poWIMLfHOf5aF7P9D5uNFIua6e_5IQIX7huEklxGZmo5OLx20u2j7I8xU2JkoXQ8tMQ2ztIC-rwrF4Y2Xpjja2rcLZI2u1ByP2eje-TqjTcaekVQ6TndNdUQ1AFqAgbNEmeDmg6_rzKfAiH58eNOn0vDVkHRHRh_4TlSN6NCZNidB4fcMPpINsrgIfOWKY49qu_jUZVGFJC5NqJp6P-fQpyRacjuzcn72oKo5GBKNhDYWYZXbtUmvYKOmMli2baR64DkKspJNgTfowC3DXaZwB8iZ5H28YRjuaCZTMqYvTR1G-AbJWVjTutN9s_Ra-c3zoY3md6JrnMPiT5QUM4wnpKGRJ4heaG-l8jR83hDsE0puxOk73Q7L3VSrourj5CXVjpfK90Nu5Ex-1iujnrfQhh7NiKKPCdl5_\" 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:PLJBRjim4Bm7o3-mxiK17FlIGv5J4jifsiQj_0XyB5RYLcP4am8V4QHZa7o4lwFNt6h_LvUIxDWeu8Evd1akPvQwjWwCysl9Rf94U-NcQ9v4Wh-6UfrhXShPyxCFGYNISsGhvt9xDHWOAFgfS2iVUuicqSeHi9_ezI2Ne8BSfNLSYdWm_7GPXTB3v7wm1klGKEbTl9yJzlpi_Cm99v6D1AG6rYpRx__zKron1xjxzYbGLJbWtVwFyO9zlWYiOQW8XQOBkUYnpYsHWTr4Npkq-AvLshau0etYBey32YfW75IPh1hDW8wqTQd1-VJ-X3FrwB6BJy48GishKW6hE9WATo-1DuCu5cuoxRGDjOrtmRiLRKy4vn8BCCXy8T1KfKEf1D0liE-4T8RTpADmgL1OWXJSFoBxjbpqM55gRhQRcD1rfvXPn_pkhNIPBfJ8eEbrVsO8mcWfqP1Ic-VmK0loPCtnQP5NcIj9UlUIw0BPR3nVC2w13Q1XszC3k5wJA-_YethTZamGl1Mn59hwf7ubM3Ry6Ae_gPXKT6Ta5YI77ZEO-jrpoPm1PN-ZyQVd6Cpr-oapMbdXj2c3sFYE3RMfJnjHPjjDphXku-mndRjoJHvMa3nIK92N3YYe4_NSKpzsLRiq3ib6-q8GdO2rYz2MS8r5j9U5H9hKGnJrDYHEQ1LK9JhaJVupbCqejl57nCYW2lJTs_QL1my2iiRLa9FCQZXDYIu2utXWgFF_5OwvXsYMPQ7flH1VwbHasmsBHQNGwcBxkYVkmQtFovA6gxvYxHTTSK3_XANIdj4Ww-TpGBTlvLZmsDelIE_dr3Y2eQ91szEEu8SdTZ2ydjV9D6gSlKR5wLln3m00\" \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 AccountService_Components\r\n!include https:\/\/raw.githubusercontent.com\/plantuml-stdlib\/C4-PlantUML\/master\/C4_Component.puml\r\n\r\ntitle Diagram komponent\u00f3w: Us\u0142uga konta (.NET 8)\r\n\r\nContainer(api, \"Brama API\", \"Kong\")\r\nContainerDb(db, \"Baza danych konta\", \"PostgreSQL\")\r\nContainerQueue(events, \"Szyna zdarze\u0144\", \"RabbitMQ\")\r\n\r\nComponent(auth, \"Middleware uwierzytelniania\", \"Filtr ASP.NET\", \"Waliduje JWT, wyodr\u0119bnia kontekst u\u017cytkownika\")\r\nComponent(controller, \"AccountController\", \"API ASP.NET\", \"Punkty ko\u0144cowe REST dla \/accounts\")\r\nComponent(domain, \"AccountDomainService\", \"Biblioteka klas C#\", \"Obliczanie salda, regu\u0142y transferu\")\r\nComponent(repo, \"AccountRepository\", \"EF Core\", \"Dost\u0119p do danych, optymalizacja zapyta\u0144\")\r\nComponent(publisher, \"EventPublisher\", \"MassTransit\", \"Publikuje zdarzenia TransactionCompleted\")\r\n\r\nRel(api, auth, \"Przekazuje \u017c\u0105danie\")\r\nRel(auth, controller, \"Przekierowuje uwierzytelnione \u017c\u0105danie\")\r\nRel(controller, domain, \"Wywo\u0142uje logik\u0119 biznesow\u0105\")\r\nRel(domain, repo, \"Wykonuje zapytania\/zapisuje\")\r\nRel(repo, db, \"Wykonuje SQL\")\r\nRel(domain, publisher, \"Generuje zdarzenia domenowe\")\r\nRel(publisher, events, \"Publikuje\", \"AMQP\")\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:PLJBRjim4Bm7o3-mxiK17FlIGv5J4jifsiQj_0XyB5RYLcP4am8V4QHZa7o4lwFNt6h_LvUIxDWeu8Evd1akPvQwjWwCysl9Rf94U-NcQ9v4Wh-6UfrhXShPyxCFGYNISsGhvt9xDHWOAFgfS2iVUuicqSeHi9_ezI2Ne8BSfNLSYdWm_7GPXTB3v7wm1klGKEbTl9yJzlpi_Cm99v6D1AG6rYpRx__zKron1xjxzYbGLJbWtVwFyO9zlWYiOQW8XQOBkUYnpYsHWTr4Npkq-AvLshau0etYBey32YfW75IPh1hDW8wqTQd1-VJ-X3FrwB6BJy48GishKW6hE9WATo-1DuCu5cuoxRGDjOrtmRiLRKy4vn8BCCXy8T1KfKEf1D0liE-4T8RTpADmgL1OWXJSFoBxjbpqM55gRhQRcD1rfvXPn_pkhNIPBfJ8eEbrVsO8mcWfqP1Ic-VmK0loPCtnQP5NcIj9UlUIw0BPR3nVC2w13Q1XszC3k5wJA-_YethTZamGl1Mn59hwf7ubM3Ry6Ae_gPXKT6Ta5YI77ZEO-jrpoPm1PN-ZyQVd6Cpr-oapMbdXj2c3sFYE3RMfJnjHPjjDphXku-mndRjoJHvMa3nIK92N3YYe4_NSKpzsLRiq3ib6-q8GdO2rYz2MS8r5j9U5H9hKGnJrDYHEQ1LK9JhaJVupbCqejl57nCYW2lJTs_QL1my2iiRLa9FCQZXDYIu2utXWgFF_5OwvXsYMPQ7flH1VwbHasmsBHQNGwcBxkYVkmQtFovA6gxvYxHTTSK3_XANIdj4Ww-TpGBTlvLZmsDelIE_dr3Y2eQ91szEEu8SdTZ2ydjV9D6gSlKR5wLln3m00\" \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:NLFBRjim4BmRy3zitOi3EDQbXoAdEB9TfBKB-T7sM53InbwK4bLowJZz-Yuf-PMJnENiS3YpV7IiBFjAmwGeZAzvW_P01VvEJTMO6cjs_Tu7gWljIuGzS-CUaiIgr_6EUEzpxz0MfcO1ZWjJ9OrMTQ2xTrngofFqqtqMIZ-MYwHIZj5AwK8-RWJRx_LxJAmHpdMOajfPLJsSP46d2uRZxxCjVBuBJQaShAX6ErGDZM0moPxXYs9yLMy3MNupzMvmTmMRviCo3xYES_eKO9bnlBEuMIrkm2kF7eTu21O8QXP-uCcxqB9MUKwyN0qw6PtgeVAy3_poWIMLfHOf5aF7P9D5uNFIua6e_5IQIX7huEklxGZmo5OLx20u2j7I8xU2JkoXQ8tMQ2ztIC-rwrF4Y2Xpjja2rcLZI2u1ByP2eje-TqjTcaekVQ6TndNdUQ1AFqAgbNEmeDmg6_rzKfAiH58eNOn0vDVkHRHRh_4TlSN6NCZNidB4fcMPpINsrgIfOWKY49qu_jUZVGFJC5NqJp6P-fQpyRacjuzcn72oKo5GBKNhDYWYZXbtUmvYKOmMli2baR64DkKspJNgTfowC3DXaZwB8iZ5H28YRjuaCZTMqYvTR1G-AbJWVjTutN9s_Ra-c3zoY3md6JrnMPiT5QUM4wnpKGRJ4heaG-l8jR83hDsE0puxOk73Q7L3VSrourj5CXVjpfK90Nu5Ex-1iujnrfQhh7NiKKPCdl5_\" 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:NLFBRjim4BmRy3zitOi3EDQbXoAdEB9TfBKB-T7sM53InbwK4bLowJZz-Yuf-PMJnENiS3YpV7IiBFjAmwGeZAzvW_P01VvEJTMO6cjs_Tu7gWljIuGzS-CUaiIgr_6EUEzpxz0MfcO1ZWjJ9OrMTQ2xTrngofFqqtqMIZ-MYwHIZj5AwK8-RWJRx_LxJAmHpdMOajfPLJsSP46d2uRZxxCjVBuBJQaShAX6ErGDZM0moPxXYs9yLMy3MNupzMvmTmMRviCo3xYES_eKO9bnlBEuMIrkm2kF7eTu21O8QXP-uCcxqB9MUKwyN0qw6PtgeVAy3_poWIMLfHOf5aF7P9D5uNFIua6e_5IQIX7huEklxGZmo5OLx20u2j7I8xU2JkoXQ8tMQ2ztIC-rwrF4Y2Xpjja2rcLZI2u1ByP2eje-TqjTcaekVQ6TndNdUQ1AFqAgbNEmeDmg6_rzKfAiH58eNOn0vDVkHRHRh_4TlSN6NCZNidB4fcMPpINsrgIfOWKY49qu_jUZVGFJC5NqJp6P-fQpyRacjuzcn72oKo5GBKNhDYWYZXbtUmvYKOmMli2baR64DkKspJNgTfowC3DXaZwB8iZ5H28YRjuaCZTMqYvTR1G-AbJWVjTutN9s_Ra-c3zoY3md6JrnMPiT5QUM4wnpKGRJ4heaG-l8jR83hDsE0puxOk73Q7L3VSrourj5CXVjpfK90Nu5Ex-1iujnrfQhh7NiKKPCdl5_\" 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>Etap 3: Integracja VPasCode z Twoim procesem deweloperskim<\/h2>\n<p>Generowanie PlantUML to tylko po\u0142owa sukcesu. Oto jak skutecznie wdro\u017cy\u0107 je w nowoczesnym zespole:<\/p>\n<h3>Wersjonuj wszystko<\/h3>\n<p>Przechowuj wszystkie<code data-backticks=\"1\">.puml<\/code> plik\u00f3w obok kodu aplikacji w tym samym repozytorium. Traktuj diagramy jak infrastruktur\u0119 jako kod:<\/p>\n<pre class=\"lang-text\"><code data-language=\"text\">\/docs\/architecture\/c4\/\r\n\u251c\u2500\u2500 01-kontekst.puml\r\n\u251c\u2500\u2500 02-kontenery.puml\r\n\u251c\u2500\u2500 03-komponenty-uslugi-konta.puml\r\n\u2514\u2500\u2500 README.md\r\n<\/code><\/pre>\n<h3>Zautomatyzuj renderowanie w CI\/CD<\/h3>\n<p>U\u017cyj wiersza polece\u0144 Visual Paradigm lub akcji GitHub do renderowania plik\u00f3w PNG\/SVG przy ka\u017cdym pull request. Nigdy nie komituj r\u0119cznie wyrenderowanych obraz\u00f3w.<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">YAML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#yaml:eNp1yz0LwjAUheG90P9wwE2IWTp1ExU7O7vE21gD+SK5tyj441U6CXqmM7zPCoe7CdlbHB0PcsGW2KWIGl3OlttGIZpge5xsHG3BrsPemamYUNsGKBJ7PD8PmLMi71CWUDmMiao2hW6OLbEUq6nT602W4HFezPdU+mGScBbWf8QVdZ6gFHXKm8e7hRFOL1CMPnY=\" 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 YAML 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\">YAML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#yaml:eNp1yz0LwjAUheG90P9wwE2IWTp1ExU7O7vE21gD+SK5tyj441U6CXqmM7zPCoe7CdlbHB0PcsGW2KWIGl3OlttGIZpge5xsHG3BrsPemamYUNsGKBJ7PD8PmLMi71CWUDmMiao2hW6OLbEUq6nT602W4HFezPdU+mGScBbWf8QVdZ6gFHXKm8e7hRFOL1CMPnY=\" 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 YAML 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\">YAML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#yaml:eNptyzsOwjAQhOE+EncYiQ7JuEmVlgJKxA0W2wlO4jjaeIOMqLgb9+JVIWWqKf5vjSPfcvd8kI3XjJqpCW5IoM60HnufDnJeFQoDBVfh5AbrWFpYTw1TyNiVqwJgGSrcPw+YR2V6D\/6mUB42mkkTm4tPziRhp02pN9tRQo8f+Z+KCyRKGiXpZVBjmhsoZUrVU36nIEnxBdxfQXc=\" \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 YAML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-yaml\"><code class=\"language-yaml\" data-language=\"yaml\" class=\"language-yaml\"># Przyk\u0142adowy fragment akcji GitHub\r\n- name: Renderuj diagramy C4\r\n  run: |\r\n    vp-cli render -i docs\/architecture\/c4\/*.puml \r\n                  -o docs\/architecture\/output\/ \r\n                  -f svg --c4-layout auto\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#yaml:eNptyzsOwjAQhOE+EncYiQ7JuEmVlgJKxA0W2wlO4jjaeIOMqLgb9+JVIWWqKf5vjSPfcvd8kI3XjJqpCW5IoM60HnufDnJeFQoDBVfh5AbrWFpYTw1TyNiVqwJgGSrcPw+YR2V6D\/6mUB42mkkTm4tPziRhp02pN9tRQo8f+Z+KCyRKGiXpZVBjmhsoZUrVU36nIEnxBdxfQXc=\" \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 YAML 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\/#yaml:eNp1yz0LwjAUheG90P9wwE2IWTp1ExU7O7vE21gD+SK5tyj441U6CXqmM7zPCoe7CdlbHB0PcsGW2KWIGl3OlttGIZpge5xsHG3BrsPemamYUNsGKBJ7PD8PmLMi71CWUDmMiao2hW6OLbEUq6nT602W4HFezPdU+mGScBbWf8QVdZ6gFHXKm8e7hRFOL1CMPnY=\" 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 YAML 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\/#yaml:eNp1yz0LwjAUheG90P9wwE2IWTp1ExU7O7vE21gD+SK5tyj441U6CXqmM7zPCoe7CdlbHB0PcsGW2KWIGl3OlttGIZpge5xsHG3BrsPemamYUNsGKBJ7PD8PmLMi71CWUDmMiao2hW6OLbEUq6nT602W4HFezPdU+mGScBbWf8QVdZ6gFHXKm8e7hRFOL1CMPnY=\" 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 YAML w VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>Synchronizacja dwukierunkowa z VPasCode<\/h3>\n<p>VPasCode to nie tylko renderer \u2013 to<strong>silnik synchronizacji modeli<\/strong>. Gdy aktualizujesz PlantUML:<\/p>\n<ul>\n<li>\n<p>centralny model Visual Paradigm aktualizuje si\u0119 automatycznie<\/p>\n<\/li>\n<li>\n<p>Odwo\u0142ania wzajemne (np. powi\u0105zanie komponentu z epik\u0105 w Jira lub repozytorium Git) pozostaj\u0105 nienaruszone<\/p>\n<\/li>\n<li>\n<p>Cz\u0142onkowie zespo\u0142u korzystaj\u0105cy z interfejsu GUI widz\u0105 zmiany w czasie rzeczywistym<\/p>\n<\/li>\n<li>\n<p>Rozmowy z botem AI mog\u0105 odnosi\u0107 si\u0119 do<em>bie\u017c\u0105cy<\/em>\u00a0stan modelu, a nie przestarza\u0142y zrzut<\/p>\n<\/li>\n<\/ul>\n<blockquote>\n<p>\u26a0\ufe0f\u00a0<strong>Krytyczne ostrze\u017cenie:<\/strong>\u00a0Nigdy nie pozwalaj, aby wygenerowany przez AI PlantUML omija\u0142 ludzk\u0105 recenzj\u0119. AI cz\u0119sto wymy\u015bla nieistniej\u0105ce API, b\u0142\u0119dnie oznacza protoko\u0142y lub pomija krytyczne granice bezpiecze\u0144stwa. Zawsze weryfikuj wygenerowany kod w odniesieniu do rzeczywistego kodu bazowego i modelu zagro\u017ce\u0144 przed zatwierdzeniem.<\/p>\n<\/blockquote>\n<hr\/>\n<h2>Lista kontrolna wdra\u017cania dla nowoczesnych zespo\u0142\u00f3w<\/h2>\n<table>\n<thead>\n<tr>\n<th align=\"left\">Krok<\/th>\n<th align=\"left\">Akcja<\/th>\n<th align=\"left\">Narz\u0119dzie<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"left\">1<\/td>\n<td align=\"left\">Wst\u0119pne stworzenie modelu C4 za pomoc\u0105 konwersacyjnego wywo\u0142ywania<\/td>\n<td align=\"left\">Czatbot AI<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">2<\/td>\n<td align=\"left\">Ulepszanie i korygowanie wynik\u00f3w AI poprzez iteracyjn\u0105 rozmow\u0119<\/td>\n<td align=\"left\">Czatbot AI<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">3<\/td>\n<td align=\"left\">Eksportuj zweryfikowany PlantUML do repozytorium kontrolowanego wersjami<\/td>\n<td align=\"left\">VPasCode<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">4<\/td>\n<td align=\"left\">Skonfiguruj potok CI do automatycznego renderowania przy PR<\/td>\n<td align=\"left\">VPasCode CLI<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">5<\/td>\n<td align=\"left\">Po\u0142\u0105cz elementy C4 z repozytoriami kodu, zg\u0142oszeniami i dokumentacj\u0105<\/td>\n<td align=\"left\">Visual Paradigm<\/td>\n<\/tr>\n<tr>\n<td align=\"left\">6<\/td>\n<td align=\"left\">Zaplanuj kwartalne przegl\u0105dy \u201ehigieny modelu\u201d przy u\u017cyciu krytyki AI<\/td>\n<td align=\"left\">Czatbot AI<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Ostateczne przemy\u015blenie<\/h2>\n<p class=\"\">Modelowanie C4 nie powinno by\u0107 obci\u0105\u017ceniem dla tempa pracy Twojego zespo\u0142u. Traktuj\u0105c AI jako\u00a0<strong>iskr\u0119 kreatywno\u015bci<\/strong>\u00a0i VPasCode jako\u00a0<strong>deterministyczny punkt odniesienia<\/strong>, otrzymujesz najlepsze z obu \u015bwiat\u00f3w: szybkie badania\u00a0<em>i<\/em>\u00a0trwa\u0142\u0105 dokumentacj\u0119. Przesta\u0144 przeci\u0105ga\u0107 pude\u0142ka. Zacznij projektowa\u0107 z pr\u0119dko\u015bci\u0105 rozmowy.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Problem architektury opartej na interfejsie graficznym Od lat modelowanie C4 utkn\u0119\u0142o w paradoksie: promujemy ide\u0119 \u201earchitektury jako kodu\u201d, ale wi\u0119kszo\u015b\u0107 zespo\u0142\u00f3w nadal tworzy swoje diagramy C4, przeci\u0105gaj\u0105c pude\u0142ka w interfejsie&hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","inline_featured_image":false,"source_url":"","source_h1_title":"","fifu_image_url":"","fifu_image_alt":"","_fifu_image_alt":"","fifu_alt":"","_fifu_alt":"","fifu_image_title":"","_fifu_image_title":"","fifu_input_alt":"","vp_image_hash":"","footnotes":""},"categories":[24,12,22],"tags":[],"asset-category":[],"class_list":["post-528","post","type-post","status-publish","format-standard","hentry","category-ai-chatbot","category-c4-model","category-vsascode"],"source_url":"","source_h1_title":"","fifu_image_url":"","fifu_image_alt":"","vp_image_hash":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Przesta\u0144 przeci\u0105ga\u0107 pude\u0142ka: Generowanie diagram\u00f3w C4 za pomoc\u0105 VPasCode i czat\u00f3w AI - AI Diagrams Polski\u2013 Explore Artificial Intelligence Trends &amp; News<\/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.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Przesta\u0144 przeci\u0105ga\u0107 pude\u0142ka: Generowanie diagram\u00f3w C4 za pomoc\u0105 VPasCode i czat\u00f3w AI - AI Diagrams Polski\u2013 Explore Artificial Intelligence Trends &amp; News\" \/>\n<meta property=\"og:description\" content=\"Problem architektury opartej na interfejsie graficznym Od lat modelowanie C4 utkn\u0119\u0142o w paradoksie: promujemy ide\u0119 \u201earchitektury jako kodu\u201d, ale wi\u0119kszo\u015b\u0107 zespo\u0142\u00f3w nadal tworzy swoje diagramy C4, przeci\u0105gaj\u0105c pude\u0142ka w interfejsie&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/\" \/>\n<meta property=\"og:site_name\" content=\"AI Diagrams Polski\u2013 Explore Artificial Intelligence Trends &amp; News\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-17T10:20:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-03T15:28:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png\" \/>\n<meta name=\"author\" content=\"curtis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/\"},\"author\":{\"name\":\"curtis\",\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/#\/schema\/person\/7799982e6b83f10fb8a41071b61608d1\"},\"headline\":\"Przesta\u0144 przeci\u0105ga\u0107 pude\u0142ka: Generowanie diagram\u00f3w C4 za pomoc\u0105 VPasCode i czat\u00f3w AI\",\"datePublished\":\"2026-08-17T10:20:02+00:00\",\"dateModified\":\"2026-09-03T15:28:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/\"},\"wordCount\":856,\"publisher\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png\",\"articleSection\":[\"AI Chatbot\",\"C4 Model\",\"VSasCode\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/\",\"url\":\"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/\",\"name\":\"Przesta\u0144 przeci\u0105ga\u0107 pude\u0142ka: Generowanie diagram\u00f3w C4 za pomoc\u0105 VPasCode i czat\u00f3w AI - AI Diagrams Polski\u2013 Explore Artificial Intelligence Trends &amp; News\",\"isPartOf\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png\",\"datePublished\":\"2026-08-17T10:20:02+00:00\",\"dateModified\":\"2026-09-03T15:28:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#primaryimage\",\"url\":\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png\",\"contentUrl\":\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.ai-diagrams.com\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Przesta\u0144 przeci\u0105ga\u0107 pude\u0142ka: Generowanie diagram\u00f3w C4 za pomoc\u0105 VPasCode i czat\u00f3w AI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/#website\",\"url\":\"https:\/\/www.ai-diagrams.com\/pl\/\",\"name\":\"AI Diagrams Polski\u2013 Explore Artificial Intelligence Trends &amp; News\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.ai-diagrams.com\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/#organization\",\"name\":\"AI Diagrams Polski\u2013 Explore Artificial Intelligence Trends &amp; News\",\"url\":\"https:\/\/www.ai-diagrams.com\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.ai-diagrams.com\/pl\/wp-content\/uploads\/sites\/22\/2026\/03\/ai-diagram-logo.png\",\"contentUrl\":\"https:\/\/www.ai-diagrams.com\/pl\/wp-content\/uploads\/sites\/22\/2026\/03\/ai-diagram-logo.png\",\"width\":648,\"height\":648,\"caption\":\"AI Diagrams Polski\u2013 Explore Artificial Intelligence Trends &amp; News\"},\"image\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.ai-diagrams.com\/pl\/#\/schema\/person\/7799982e6b83f10fb8a41071b61608d1\",\"name\":\"curtis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/www.ai-diagrams.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.ai-diagrams.com\/pl\/author\/curtis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Przesta\u0144 przeci\u0105ga\u0107 pude\u0142ka: Generowanie diagram\u00f3w C4 za pomoc\u0105 VPasCode i czat\u00f3w AI - AI Diagrams Polski\u2013 Explore Artificial Intelligence Trends &amp; News","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.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/","og_locale":"pl_PL","og_type":"article","og_title":"Przesta\u0144 przeci\u0105ga\u0107 pude\u0142ka: Generowanie diagram\u00f3w C4 za pomoc\u0105 VPasCode i czat\u00f3w AI - AI Diagrams Polski\u2013 Explore Artificial Intelligence Trends &amp; News","og_description":"Problem architektury opartej na interfejsie graficznym Od lat modelowanie C4 utkn\u0119\u0142o w paradoksie: promujemy ide\u0119 \u201earchitektury jako kodu\u201d, ale wi\u0119kszo\u015b\u0107 zespo\u0142\u00f3w nadal tworzy swoje diagramy C4, przeci\u0105gaj\u0105c pude\u0142ka w interfejsie&hellip;","og_url":"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/","og_site_name":"AI Diagrams Polski\u2013 Explore Artificial Intelligence Trends &amp; News","article_published_time":"2026-08-17T10:20:02+00:00","article_modified_time":"2026-09-03T15:28:05+00:00","og_image":[{"url":"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png","type":"","width":"","height":""}],"author":"curtis","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":false,"Szacowany czas czytania":"4 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#article","isPartOf":{"@id":"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/"},"author":{"name":"curtis","@id":"https:\/\/www.ai-diagrams.com\/pl\/#\/schema\/person\/7799982e6b83f10fb8a41071b61608d1"},"headline":"Przesta\u0144 przeci\u0105ga\u0107 pude\u0142ka: Generowanie diagram\u00f3w C4 za pomoc\u0105 VPasCode i czat\u00f3w AI","datePublished":"2026-08-17T10:20:02+00:00","dateModified":"2026-09-03T15:28:05+00:00","mainEntityOfPage":{"@id":"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/"},"wordCount":856,"publisher":{"@id":"https:\/\/www.ai-diagrams.com\/pl\/#organization"},"image":{"@id":"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#primaryimage"},"thumbnailUrl":"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png","articleSection":["AI Chatbot","C4 Model","VSasCode"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/","url":"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/","name":"Przesta\u0144 przeci\u0105ga\u0107 pude\u0142ka: Generowanie diagram\u00f3w C4 za pomoc\u0105 VPasCode i czat\u00f3w AI - AI Diagrams Polski\u2013 Explore Artificial Intelligence Trends &amp; News","isPartOf":{"@id":"https:\/\/www.ai-diagrams.com\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#primaryimage"},"image":{"@id":"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#primaryimage"},"thumbnailUrl":"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png","datePublished":"2026-08-17T10:20:02+00:00","dateModified":"2026-09-03T15:28:05+00:00","breadcrumb":{"@id":"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#primaryimage","url":"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png","contentUrl":"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.ai-diagrams.com\/pl\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.ai-diagrams.com\/pl\/"},{"@type":"ListItem","position":2,"name":"Przesta\u0144 przeci\u0105ga\u0107 pude\u0142ka: Generowanie diagram\u00f3w C4 za pomoc\u0105 VPasCode i czat\u00f3w AI"}]},{"@type":"WebSite","@id":"https:\/\/www.ai-diagrams.com\/pl\/#website","url":"https:\/\/www.ai-diagrams.com\/pl\/","name":"AI Diagrams Polski\u2013 Explore Artificial Intelligence Trends &amp; News","description":"","publisher":{"@id":"https:\/\/www.ai-diagrams.com\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.ai-diagrams.com\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/www.ai-diagrams.com\/pl\/#organization","name":"AI Diagrams Polski\u2013 Explore Artificial Intelligence Trends &amp; News","url":"https:\/\/www.ai-diagrams.com\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.ai-diagrams.com\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/www.ai-diagrams.com\/pl\/wp-content\/uploads\/sites\/22\/2026\/03\/ai-diagram-logo.png","contentUrl":"https:\/\/www.ai-diagrams.com\/pl\/wp-content\/uploads\/sites\/22\/2026\/03\/ai-diagram-logo.png","width":648,"height":648,"caption":"AI Diagrams Polski\u2013 Explore Artificial Intelligence Trends &amp; News"},"image":{"@id":"https:\/\/www.ai-diagrams.com\/pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.ai-diagrams.com\/pl\/#\/schema\/person\/7799982e6b83f10fb8a41071b61608d1","name":"curtis","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.ai-diagrams.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.ai-diagrams.com\/pl\/author\/curtis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.ai-diagrams.com\/pl\/wp-json\/wp\/v2\/posts\/528","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ai-diagrams.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ai-diagrams.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ai-diagrams.com\/pl\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ai-diagrams.com\/pl\/wp-json\/wp\/v2\/comments?post=528"}],"version-history":[{"count":0,"href":"https:\/\/www.ai-diagrams.com\/pl\/wp-json\/wp\/v2\/posts\/528\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ai-diagrams.com\/pl\/wp-json\/wp\/v2\/media?parent=528"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ai-diagrams.com\/pl\/wp-json\/wp\/v2\/categories?post=528"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ai-diagrams.com\/pl\/wp-json\/wp\/v2\/tags?post=528"},{"taxonomy":"asset-category","embeddable":true,"href":"https:\/\/www.ai-diagrams.com\/pl\/wp-json\/wp\/v2\/asset-category?post=528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}