{"id":20423,"date":"2025-01-29T10:52:12","date_gmt":"2025-01-29T09:52:12","guid":{"rendered":"https:\/\/www.transparentedge.eu\/blog\/"},"modified":"2025-07-08T15:15:02","modified_gmt":"2025-07-08T13:15:02","slug":"de-un-dashboard-de-vue-2-a-remix","status":"publish","type":"post","link":"https:\/\/www.transparentedge.eu\/en\/blog\/de-un-dashboard-de-vue-2-a-remix\/","title":{"rendered":"From Vue 2 dashboard to Remix: a modernization journey"},"content":{"rendered":"\n<p>Migrating a web application can be a daunting task, especially when dealing with complex dashboards. However, the benefits of modern frameworks like Remix often outweigh the initial effort. <\/p>\n\n\n\n<p>This post outlines the key considerations and steps involved in migrating a Vue 2 dashboard application to Remix, with a focus on handling client-side and server-side actions and data loading.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">WHY REMIX?<\/h3>\n\n\n\n<p>Remix offers several advantages for building modern web applications:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Server-Side rendering (SSR):<\/strong> improved SEO, faster initial load times, and better user experience, especially on slower connections.<\/li>\n\n\n\n<li><strong>Progressive enhancement:<\/strong> applications are functional even with JavaScript disabled, ensuring accessibility and resilience.<\/li>\n\n\n\n<li><strong>Data loading with <\/strong><strong><em>loaders<\/em><\/strong><strong>: <\/strong>simplified data fetching and caching mechanisms.<\/li>\n\n\n\n<li><strong>Actions for data mutations:<\/strong> clear separation of concerns for handling form submissions and other data modifications.<\/li>\n\n\n\n<li><strong>Optimistic UI:<\/strong> provides a perceived performance boost by immediately updating the UI before the server responds.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">MIGRATION STRATEGY<\/h2>\n\n\n\n<p>A step-by-step approach is recommended for migrating a Vue 2 dashboard to Remix:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Project setup:<\/strong> create a new Remix project and set up the basic routing structure. This initial phase requires careful consideration of key dependencies, including state management solutions, form validation libraries, and other utilities.<\/li>\n\n\n\n<li><strong>Component migration:<\/strong> gradually migrate Vue 2 components to React components, focusing on functionality and data flow.<\/li>\n\n\n\n<li><strong>Data loading with <em>loaders<\/em>: <\/strong>implement Remix <em>loaders<\/em> to fetch data on the server and pass it to components.<\/li>\n\n\n\n<li><strong>Actions for data mutations:<\/strong> replace Vue 2 methods for handling form submissions and other data changes with Remix actions.<\/li>\n\n\n\n<li><strong>Styling and UI adjustments:<\/strong> adapt styling and UI elements to fit the Remix environment.<\/li>\n\n\n\n<li><strong>Testing and refinement:<\/strong> thoroughly test the migrated application and address any issues.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">CLIENT-SIDE VS. SERVER-SIDE ACTIONS AND LOADERS<\/h3>\n\n\n\n<p>Understanding the distinction between client-side and server-side operations is crucial in Remix:<\/p>\n\n\n\n<p><strong>Loaders:<\/strong> these functions run on the server and are responsible for fetching data. They are called:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>On the initial page load<\/li>\n\n\n\n<li>During navigation within the Remix application<\/li>\n\n\n\n<li>When data is invalidated<\/li>\n<\/ul>\n\n\n\n<p><strong>Actions: <\/strong>these functions also run on the server and handle data mutations, such as form submissions. They are called when:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A form is submitted<\/li>\n\n\n\n<li>A link with <code>method=\"post\"<\/code>, <code>method=\"put\"<\/code>, or <code>method=\"delete\"<\/code> is clicked<\/li>\n<\/ul>\n\n\n\n<p>This separation of concerns simplifies data management and improves performance.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">EXAMPLE: MIGRATING A DATA TABLE<\/h3>\n\n\n\n<p>Consider a Vue 2 component that displays a table of data fetched from an API:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template&gt;\n  &lt;table&gt;\n    &lt;tr v-for=\"item in items\" :key=\"item.id\"&gt;\n      &lt;td&gt;{{ item.name }}&lt;\/td&gt;\n      &lt;td&gt;{{ item.value }}&lt;\/td&gt;\n    &lt;\/tr&gt;\n  &lt;\/table&gt;\n&lt;\/template&gt;\n\n&lt;script&gt;\nexport default {\n  data() {\n    return {\n      items: &#91;],\n    };\n  },\n  mounted() {\n    fetch('\/api\/data')\n      .then(res =&gt; res.json())\n      .then(data =&gt; {\n        this.items = data;\n      });\n  },\n};\n&lt;\/script&gt;\n\n<\/code><\/pre>\n\n\n\n<p>In Remix, this would be implemented using a loader:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import { useLoaderData } from '@remix-run\/react';\n\nexport async function loader() {\n  const res = await fetch('\/api\/data');\n  const data = await res.json();\n  return data;\n}\n\nexport default function DataTable() {\n  const items = useLoaderData();\n\n  return (\n    &lt;table&gt;\n      {items.map(item =&gt; (\n        &lt;tr key={item.id}&gt;\n          &lt;td&gt;{item.name}&lt;\/td&gt;\n          &lt;td&gt;{item.value}&lt;\/td&gt;\n        &lt;\/tr&gt;\n      ))}\n    &lt;\/table&gt;\n  );\n}<\/code><\/pre>\n\n\n\n<p>Key changes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The loader function fetches data on the server.<\/li>\n\n\n\n<li><code>useLoaderData<\/code> hook provides the data to the component.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">CONCLUSION<\/h3>\n\n\n\n<p>Migrating from Vue 2 to Remix requires careful planning and execution. However, the benefits of Remix, such as improved performance, SEO, and developer experience, make it a worthwhile investment. By understanding the concepts of loaders and actions, and by following a step-by-step migration strategy, you can successfully modernize your dashboard application.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/in\/anthonybr\/\">Antonio Bacete<\/a> is a Frontend Solutions Architect at Transparent Edge.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>If Manchego cheese were code, it would have Antonio Bacete\u2019s face on the label. A tireless developer, Antonio is in charge of frontend architecture and development at Transparent Edge, where he patiently molds and integrates every feature we dream up for our dashboard.<\/em><br><\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Migrating from Vue 2 to Remix requires careful planning and execution. However, the benefits of Remix, such as improved performance, SEO, and developer experience, make it a worthwhile investment.<\/p>\n","protected":false},"author":20,"featured_media":19669,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[7],"tags":[200],"class_list":["post-20423","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-privada-dashboard-2"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>From Vue 2 dashboard to Remix: a modernization journey - Transparent Edge<\/title>\n<meta name=\"description\" content=\"Migrating from Vue 2 dashboard to Remix has several improvements in performance. Let&#039;s look what&#039;s required to do it successfully.\" \/>\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.transparentedge.eu\/blog\/de-un-dashboard-de-vue-2-a-remix\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"From Vue 2 dashboard to Remix: a modernization journey - Transparent Edge\" \/>\n<meta property=\"og:description\" content=\"Migrating from Vue 2 dashboard to Remix has several improvements in performance. Let&#039;s look what&#039;s required to do it successfully.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.transparentedge.eu\/blog\/de-un-dashboard-de-vue-2-a-remix\/\" \/>\n<meta property=\"og:site_name\" content=\"Transparent Edge\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-29T09:52:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-08T13:15:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.transparentedge.eu\/wp-content\/uploads\/2022\/07\/EN-_-Blog-_-Invisibles-1024x684.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"684\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Antonio Bacete\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@tedgeservices\" \/>\n<meta name=\"twitter:site\" content=\"@tedgeservices\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/de-un-dashboard-de-vue-2-a-remix\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/de-un-dashboard-de-vue-2-a-remix\\\/\"},\"author\":{\"name\":\"Antonio Bacete\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#\\\/schema\\\/person\\\/a4ec6c0548a24b792d255d9fcdc75db8\"},\"headline\":\"From Vue 2 dashboard to Remix: a modernization journey\",\"datePublished\":\"2025-01-29T09:52:12+00:00\",\"dateModified\":\"2025-07-08T13:15:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/de-un-dashboard-de-vue-2-a-remix\\\/\"},\"wordCount\":511,\"publisher\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/de-un-dashboard-de-vue-2-a-remix\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.transparentedge.eu\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/EN-_-Blog-_-Invisibles.jpg\",\"keywords\":[\"privada dashboard\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/de-un-dashboard-de-vue-2-a-remix\\\/\",\"url\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/de-un-dashboard-de-vue-2-a-remix\\\/\",\"name\":\"From Vue 2 dashboard to Remix: a modernization journey - Transparent Edge\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/de-un-dashboard-de-vue-2-a-remix\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/de-un-dashboard-de-vue-2-a-remix\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.transparentedge.eu\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/EN-_-Blog-_-Invisibles.jpg\",\"datePublished\":\"2025-01-29T09:52:12+00:00\",\"dateModified\":\"2025-07-08T13:15:02+00:00\",\"description\":\"Migrating from Vue 2 dashboard to Remix has several improvements in performance. Let's look what's required to do it successfully.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/de-un-dashboard-de-vue-2-a-remix\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/de-un-dashboard-de-vue-2-a-remix\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/de-un-dashboard-de-vue-2-a-remix\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.transparentedge.eu\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/EN-_-Blog-_-Invisibles.jpg\",\"contentUrl\":\"https:\\\/\\\/www.transparentedge.eu\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/EN-_-Blog-_-Invisibles.jpg\",\"width\":8192,\"height\":5468},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/blog\\\/de-un-dashboard-de-vue-2-a-remix\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/www.transparentedge.eu\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"From Vue 2 dashboard to Remix: a modernization journey\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#website\",\"url\":\"https:\\\/\\\/www.transparentedge.eu\\\/\",\"name\":\"Transparent Edge\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#organization\"},\"alternateName\":\"Transparent Edge\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.transparentedge.eu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#organization\",\"name\":\"Transparent Edge Services\",\"alternateName\":\"Transparent Edge\",\"url\":\"https:\\\/\\\/www.transparentedge.eu\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.transparentedge.eu\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logotipo-cuadrado.jpg\",\"contentUrl\":\"https:\\\/\\\/www.transparentedge.eu\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logotipo-cuadrado.jpg\",\"width\":1328,\"height\":1180,\"caption\":\"Transparent Edge Services\"},\"image\":{\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/tedgeservices\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/transparent-edge\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UC5zZoyZmiLGBTAdiFpj2xHA\\\/videos\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.transparentedge.eu\\\/#\\\/schema\\\/person\\\/a4ec6c0548a24b792d255d9fcdc75db8\",\"name\":\"Antonio Bacete\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/anthonybr\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"From Vue 2 dashboard to Remix: a modernization journey - Transparent Edge","description":"Migrating from Vue 2 dashboard to Remix has several improvements in performance. Let's look what's required to do it successfully.","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.transparentedge.eu\/blog\/de-un-dashboard-de-vue-2-a-remix\/","og_locale":"en_US","og_type":"article","og_title":"From Vue 2 dashboard to Remix: a modernization journey - Transparent Edge","og_description":"Migrating from Vue 2 dashboard to Remix has several improvements in performance. Let's look what's required to do it successfully.","og_url":"https:\/\/www.transparentedge.eu\/blog\/de-un-dashboard-de-vue-2-a-remix\/","og_site_name":"Transparent Edge","article_published_time":"2025-01-29T09:52:12+00:00","article_modified_time":"2025-07-08T13:15:02+00:00","og_image":[{"width":1024,"height":684,"url":"https:\/\/www.transparentedge.eu\/wp-content\/uploads\/2022\/07\/EN-_-Blog-_-Invisibles-1024x684.jpg","type":"image\/jpeg"}],"author":"Antonio Bacete","twitter_card":"summary_large_image","twitter_creator":"@tedgeservices","twitter_site":"@tedgeservices","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.transparentedge.eu\/blog\/de-un-dashboard-de-vue-2-a-remix\/#article","isPartOf":{"@id":"https:\/\/www.transparentedge.eu\/blog\/de-un-dashboard-de-vue-2-a-remix\/"},"author":{"name":"Antonio Bacete","@id":"https:\/\/www.transparentedge.eu\/#\/schema\/person\/a4ec6c0548a24b792d255d9fcdc75db8"},"headline":"From Vue 2 dashboard to Remix: a modernization journey","datePublished":"2025-01-29T09:52:12+00:00","dateModified":"2025-07-08T13:15:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.transparentedge.eu\/blog\/de-un-dashboard-de-vue-2-a-remix\/"},"wordCount":511,"publisher":{"@id":"https:\/\/www.transparentedge.eu\/#organization"},"image":{"@id":"https:\/\/www.transparentedge.eu\/blog\/de-un-dashboard-de-vue-2-a-remix\/#primaryimage"},"thumbnailUrl":"https:\/\/www.transparentedge.eu\/wp-content\/uploads\/2022\/07\/EN-_-Blog-_-Invisibles.jpg","keywords":["privada dashboard"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.transparentedge.eu\/blog\/de-un-dashboard-de-vue-2-a-remix\/","url":"https:\/\/www.transparentedge.eu\/blog\/de-un-dashboard-de-vue-2-a-remix\/","name":"From Vue 2 dashboard to Remix: a modernization journey - Transparent Edge","isPartOf":{"@id":"https:\/\/www.transparentedge.eu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.transparentedge.eu\/blog\/de-un-dashboard-de-vue-2-a-remix\/#primaryimage"},"image":{"@id":"https:\/\/www.transparentedge.eu\/blog\/de-un-dashboard-de-vue-2-a-remix\/#primaryimage"},"thumbnailUrl":"https:\/\/www.transparentedge.eu\/wp-content\/uploads\/2022\/07\/EN-_-Blog-_-Invisibles.jpg","datePublished":"2025-01-29T09:52:12+00:00","dateModified":"2025-07-08T13:15:02+00:00","description":"Migrating from Vue 2 dashboard to Remix has several improvements in performance. Let's look what's required to do it successfully.","breadcrumb":{"@id":"https:\/\/www.transparentedge.eu\/blog\/de-un-dashboard-de-vue-2-a-remix\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.transparentedge.eu\/blog\/de-un-dashboard-de-vue-2-a-remix\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.transparentedge.eu\/blog\/de-un-dashboard-de-vue-2-a-remix\/#primaryimage","url":"https:\/\/www.transparentedge.eu\/wp-content\/uploads\/2022\/07\/EN-_-Blog-_-Invisibles.jpg","contentUrl":"https:\/\/www.transparentedge.eu\/wp-content\/uploads\/2022\/07\/EN-_-Blog-_-Invisibles.jpg","width":8192,"height":5468},{"@type":"BreadcrumbList","@id":"https:\/\/www.transparentedge.eu\/blog\/de-un-dashboard-de-vue-2-a-remix\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.transparentedge.eu\/en\/"},{"@type":"ListItem","position":2,"name":"From Vue 2 dashboard to Remix: a modernization journey"}]},{"@type":"WebSite","@id":"https:\/\/www.transparentedge.eu\/#website","url":"https:\/\/www.transparentedge.eu\/","name":"Transparent Edge","description":"","publisher":{"@id":"https:\/\/www.transparentedge.eu\/#organization"},"alternateName":"Transparent Edge","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.transparentedge.eu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.transparentedge.eu\/#organization","name":"Transparent Edge Services","alternateName":"Transparent Edge","url":"https:\/\/www.transparentedge.eu\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.transparentedge.eu\/#\/schema\/logo\/image\/","url":"https:\/\/www.transparentedge.eu\/wp-content\/uploads\/2023\/07\/logotipo-cuadrado.jpg","contentUrl":"https:\/\/www.transparentedge.eu\/wp-content\/uploads\/2023\/07\/logotipo-cuadrado.jpg","width":1328,"height":1180,"caption":"Transparent Edge Services"},"image":{"@id":"https:\/\/www.transparentedge.eu\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/tedgeservices","https:\/\/www.linkedin.com\/company\/transparent-edge\/","https:\/\/www.youtube.com\/channel\/UC5zZoyZmiLGBTAdiFpj2xHA\/videos"]},{"@type":"Person","@id":"https:\/\/www.transparentedge.eu\/#\/schema\/person\/a4ec6c0548a24b792d255d9fcdc75db8","name":"Antonio Bacete","sameAs":["https:\/\/www.linkedin.com\/in\/anthonybr\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/posts\/20423","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/comments?post=20423"}],"version-history":[{"count":10,"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/posts\/20423\/revisions"}],"predecessor-version":[{"id":21126,"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/posts\/20423\/revisions\/21126"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/media\/19669"}],"wp:attachment":[{"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/media?parent=20423"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/categories?post=20423"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.transparentedge.eu\/en\/wp-json\/wp\/v2\/tags?post=20423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}