{"id":18224,"date":"2024-09-27T17:44:08","date_gmt":"2024-09-27T12:14:08","guid":{"rendered":"https:\/\/www.softsuave.com\/blog\/?p=18224"},"modified":"2025-10-30T15:02:28","modified_gmt":"2025-10-30T09:32:28","slug":"nodejs-server-with-supabase","status":"publish","type":"post","link":"https:\/\/www.softsuave.com\/blog\/nodejs-server-with-supabase\/","title":{"rendered":"NodeJS Server with Supabase: Building Real-Time Applications with Ease"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_81 counter-flat ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title ez-toc-toggle\" style=\"cursor:pointer\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.softsuave.com\/blog\/nodejs-server-with-supabase\/#About_Nodejs_and_Supabase\" >About Node.js and Supabase<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.softsuave.com\/blog\/nodejs-server-with-supabase\/#Nodejs\" >Node.js:<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.softsuave.com\/blog\/nodejs-server-with-supabase\/#Supabase\" >Supabase:<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.softsuave.com\/blog\/nodejs-server-with-supabase\/#Why_Use_Supabase_for_Real-Time_Applications\" >Why Use Supabase for Real-Time Applications?<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.softsuave.com\/blog\/nodejs-server-with-supabase\/#Integrated_file_storage_with_S3\" >Integrated file storage with S3<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.softsuave.com\/blog\/nodejs-server-with-supabase\/#Setting_Up_Your_Nodejs_Server_with_Supabase\" >Setting Up Your Node.js Server with Supabase<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.softsuave.com\/blog\/nodejs-server-with-supabase\/#Creating_a_Simple_API_with_Nodejs_and_Supabase\" >Creating a Simple API with Node.js and Supabase<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.softsuave.com\/blog\/nodejs-server-with-supabase\/#Real-Time_Features_in_Supabase_for_Nodejs_Applications\" >Real-Time Features in Supabase for Node.js Applications<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.softsuave.com\/blog\/nodejs-server-with-supabase\/#Handling_Authentication_in_Nodejs_with_Supabase\" >Handling Authentication in Node.js with Supabase<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.softsuave.com\/blog\/nodejs-server-with-supabase\/#Final_Thoughts_Scaling_Your_Nodejs_and_Supabase_App\" >Final Thoughts: Scaling Your Node.js and Supabase App<\/a><\/li><\/ul><\/nav><\/div>\n\n<div class=\"wp-block-columns has-border-color is-layout-flex wp-container-core-columns-is-layout-29cf1a26 wp-block-columns-is-layout-flex\" style=\"border-color:#ff0042;border-width:3px;margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);padding-top:0;padding-right:var(--wp--preset--spacing--20);padding-bottom:0;padding-left:var(--wp--preset--spacing--20)\">\n<div class=\"wp-block-column has-border-color has-ast-global-color-5-border-color has-ast-global-color-6-background-color has-background is-layout-flow wp-container-core-column-is-layout-334757f1 wp-block-column-is-layout-flow\" style=\"border-width:12px;padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\">\n<p><strong>Key Takeaways<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Supabase is a platform, open-source in nature, that provides backend services such as real-time updates, storing files, and authentication.<\/li>\n\n\n\n<li>To build powerful real-time applications, you can merge the <strong>NodeJS server with Supabase<\/strong><\/li>\n\n\n\n<li>This blog covers setting up a basic API, handling real-time features, and managing authentication, all while using Supabase with Node.js.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-0806ab5c wp-block-columns-is-layout-flex\" style=\"margin-top:var(--wp--preset--spacing--30);margin-bottom:var(--wp--preset--spacing--30)\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:90%\">\n<h2 class=\"wp-block-heading\" id=\"h-about-node-js-and-supabase\" style=\"text-transform:none\"><span class=\"ez-toc-section\" id=\"About_Nodejs_and_Supabase\"><\/span>About Node.js and Supabase<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Let&#8217;s explore the capabilities of Node.js and Supabase- two powerful tools for modern web development, below:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-node-js\"><span class=\"ez-toc-section\" id=\"Nodejs\"><\/span>Node.js:<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>It\u2019s a powerful tool that lets you run JavaScript on the server side. It&#8217;s a perfect fit for building backend services that need to handle lots of requests. Its ability to manage multiple client requests at once makes it a favorite for creating APIs. For those looking to extend their backend capabilities, <strong><a href=\"https:\/\/www.softsuave.com\/blog\/how-to-add-graphql-to-node-js\/\">how to add GraphQL to Node.js<\/a><\/strong> is a relevant consideration for building more efficient and flexible APIs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-supabase\" style=\"text-transform:none\"><span class=\"ez-toc-section\" id=\"Supabase\"><\/span>Supabase:<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Now, let\u2019s chat about Supabase. It\u2019s an open-source platform packed with handy backend features. You get real-time data handling, user authentication, and file storage\u2014all in one place. Plus, it automatically generates REST APIs, so you can integrate everything easily. Since it\u2019s built on PostgreSQL, it\u2019s a great option if you prefer using SQL databases instead of NoSQL solutions like Firebase.<\/p>\n\n\n\n<p>Combining a <strong>NodeJS server with Supabase <\/strong>creates a strong solution for real-time applications. This integration allows you to build high-performance apps easily. If you&#8217;re looking to <a href=\"https:\/\/www.softsuave.com\/hire-nodejs-developers\"><strong>hire expert Nodejs developer<\/strong> <\/a>for web app development, using Node.js with Supabase is a great choice for delivering advanced features.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-why-use-supabase-for-real-time-applications\"><span class=\"ez-toc-section\" id=\"Why_Use_Supabase_for_Real-Time_Applications\"><\/span>Why Use Supabase for Real-Time Applications?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Supabase offers several advantages for building real-time applications. It\u2019s designed with real-time updates in mind, allowing you to easily synchronize data across clients without requiring complex configurations.<\/p>\n\n\n\n<p>One key benefit is the open-source nature of Supabase, meaning you can customize and host it on your infrastructure if needed. Moreover, Supabase&#8217;s core database is built on PostgreSQL, providing advanced querying capabilities, relations, and extensions that other backend platforms often lack.<\/p>\n\n\n\n<p>Supabase\u2019s real-time data handling is a game-changer. Whether you\u2019re building chat apps, collaborative tools, or live dashboards, Supabase makes it simple to implement these features. This, combined with its cost-effectiveness and flexible pricing model, positions it as a compelling alternative to services like Firebase.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-integrated-file-storage-with-s3\"><span class=\"ez-toc-section\" id=\"Integrated_file_storage_with_S3\"><\/span>Integrated file storage with S3<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Supabase allows users to store digital objects of any kind. Supabase\u2019s file storage is based on AWS S3. Similar to the CRUD for the Postgres core offering, Supabase provides an excellent CRUD for uploading, filtering, and previewing any document type. File storage is directly integrated with Supabase&#8217;s Postgres and Auth offerings, providing a seamless dashboard.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-setting-up-your-node-js-server-with-supabase\" style=\"text-transform:none\"><span class=\"ez-toc-section\" id=\"Setting_Up_Your_Nodejs_Server_with_Supabase\"><\/span>Setting Up Your Node.js Server with Supabase<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Getting started with a <strong>NodeJS server with Supabase<\/strong> involves a few straightforward steps:<\/p>\n\n\n\n<p><strong>Step 1:<\/strong> Install Node.js and Start the Project<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"496\" height=\"388\" src=\"https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Install-Node.js-and-Start-the-Project.png\" alt=\"\" class=\"wp-image-18320\" style=\"width:821px;height:auto\" srcset=\"https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Install-Node.js-and-Start-the-Project.png 496w, https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Install-Node.js-and-Start-the-Project-300x235.png 300w\" sizes=\"auto, (max-width: 496px) 100vw, 496px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Once Node.js is&nbsp;installed, build a new project directory:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir supabase-nodejs\ncd supabase-nodejs\nnpm init -y\nKey Reasons for Choosing React<\/code><\/pre>\n\n\n\n<p>This will initialize a basic Node.js project.<\/p>\n\n\n\n<p><strong>Step 2:<\/strong> Install Supabase and Dependencies<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"934\" height=\"302\" src=\"https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Install-Supabase-and-Dependencies-1.png\" alt=\"\" class=\"wp-image-18323\" srcset=\"https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Install-Supabase-and-Dependencies-1.png 934w, https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Install-Supabase-and-Dependencies-1-300x97.png 300w, https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Install-Supabase-and-Dependencies-1-768x248.png 768w\" sizes=\"auto, (max-width: 934px) 100vw, 934px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Next, install the necessary dependencies for your project:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm install express supabase-js dotenv\n<\/code><\/pre>\n\n\n\n<p>This will install Express (for handling server requests), Supabase JS (for interacting with Supabase), and dotenv (for managing environment variables).<\/p>\n\n\n\n<p><strong>Step 3:<\/strong> Configure Environment Variables<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"510\" src=\"https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Configure-Environment-Variables-1024x510.png\" alt=\"\" class=\"wp-image-18321\" srcset=\"https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Configure-Environment-Variables-1024x510.png 1024w, https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Configure-Environment-Variables-300x149.png 300w, https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Configure-Environment-Variables-768x382.png 768w, https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Configure-Environment-Variables-1536x765.png 1536w, https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Configure-Environment-Variables.png 1599w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>To securely use Supabase, keep your credentials in an .env file. You&#8217;ll obtain your Supabase URL and API key after signing up for Supabase.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SUPABASE_URL=Your_Supabase_URL\nSUPABASE_ANON_KEY=Your_Supabase_anon_key\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-creating-a-simple-api-with-node-js-and-supabase\"><span class=\"ez-toc-section\" id=\"Creating_a_Simple_API_with_Nodejs_and_Supabase\"><\/span>Creating a Simple API with Node.js and Supabase<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Creating an API with a <strong>NodeJS server with Supabase<\/strong> is easy due to their smooth integration. Here\u2019s a way to make a basic API:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-ast-global-color-8-color has-text-color\">const express = require('express');\nconst { createClient } = require('@supabase\/supabase-js');\nrequire('dotenv').config();\n\nconst app = express();\nconst port = process.env.PORT || 3000;\n\n\/\/ Initialize the supabase client const supabase = createClient(process.env.SUPABASE_URL, process.env.SUPABASE_ANON_KEY);\n\napp.use(express.json());\n\n\/\/ GET: Retrieve user from the supabase\n\napp.get('\/user', async (req, res) =&gt; {\n const { data, error } = await supabase.from('users').select('*');\n\n if (error) return res.status(400).json({ error: error.message });\n\n res.status(200).json(data);\n});\n\n\/\/ POST: Insert a new user into the supabase\n\napp.post('\/user', async (req, res) =&gt; {\n const { name, email } = req.body;\n\n const { data, error } = await supabase\n .from('user')\n .insert([{ name, email }]);\n\n if (error) return res.status(400).json({ error: error.message });\n\n res.status(201).json(data);\n});\n\n\n\n\/\/ Start the server\napp.listen(port, () =&gt; {\n console.log(`The server is running on http:\/\/localhost:${port}`);\n});\n<\/pre>\n\n\n\n<p>This code forms a basic Node.js API with Supabase to get information from the users&#8217; table. You can expand it by adding more CRUD operations as needed.<\/p>\n\n\n\n<p><strong>Step 4:<\/strong> Create a database table in Supabase<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"504\" src=\"https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Install-Supabase-and-Dependencies-1024x504.png\" alt=\"\" class=\"wp-image-18322\" srcset=\"https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Install-Supabase-and-Dependencies-1024x504.png 1024w, https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Install-Supabase-and-Dependencies-300x148.png 300w, https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Install-Supabase-and-Dependencies-768x378.png 768w, https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Install-Supabase-and-Dependencies-1536x755.png 1536w, https:\/\/www.softsuave.com\/blog\/wp-content\/uploads\/2024\/09\/Install-Supabase-and-Dependencies.png 1584w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Before testing your API, create a user table in Supabase:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Go to the Supabase dashboard.<\/li>\n\n\n\n<li>Click on Tables in the left sidebar under Database.<\/li>\n\n\n\n<li>Create a new table called users with the following columns:<\/li>\n\n\n\n<li>id: Primary key, type int8, and auto-increment.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-8-color has-text-color\" id=\"h-real-time-features-in-supabase-for-node-js-applications\"><span class=\"ez-toc-section\" id=\"Real-Time_Features_in_Supabase_for_Nodejs_Applications\"><\/span>Real-Time Features in Supabase for Node.js Applications<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Supabase can easily &amp; effectively handle real-time updates. When there is a change in the database, Supabase uses WebSockets to immediately send updates to the clients that are connected. Thus, it is very fitting for real-time applications like collaborative tools and live chats.&nbsp;<\/p>\n\n\n\n<p>To enable real-time features in your <strong>NodeJS server with Supabase<\/strong>, all you need is a WebSocket connection to listen for updates, which can be set up without requiring any complicated configurations. Supabase automatically handles broadcasting updates from the database to your Node.js server.<\/p>\n\n\n\n<p>Skilled NodeJS developers play a crucial role in web app development by leveraging these real-time capabilities, ensuring smooth and responsive user experiences in applications that require immediate updates.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-8-color has-text-color\" id=\"h-handling-authentication-in-node-js-with-supabase\"><span class=\"ez-toc-section\" id=\"Handling_Authentication_in_Nodejs_with_Supabase\"><\/span>Handling Authentication in Node.js with Supabase<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Supabase makes user authentication easy by supporting various providers like Google and GitHub. With Supabase, you can easily add user authentication to your Node.js application.<\/p>\n\n\n\n<p>Here\u2019s how you can set up a login endpoint:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>app.post('\/login', async (req, res) =&gt; {\n    const { email, password } = req.body;\n    const { user, error } = await supabase.auth.signIn({ email, password });\n\n    if (error) return res.status(400).json({ error: error.message });\n    res.status(200).json(user);\n});\n<\/code><\/pre>\n\n\n\n<p>Supabase easily handles managing authentication tokens and securely storing them, offering robust solutions for securing your application.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-final-thoughts-scaling-your-node-js-and-supabase-app\"><span class=\"ez-toc-section\" id=\"Final_Thoughts_Scaling_Your_Nodejs_and_Supabase_App\"><\/span>Final Thoughts: Scaling Your Node.js and Supabase App<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Using Supabase with Node.js creates a flexible and scalable way to build real-time applications. As your app grows, Supabase can easily handle more data and user activity. Additionally, integrating advanced features such as file storage and real-time databases ensures that your application is ready for production environments.<\/p>\n\n\n\n<p>To further enhance your application, consider working with top <a href=\"https:\/\/www.softsuave.com\/it-outsourcing-company-india\"><strong>IT outsourcing companies<\/strong><\/a> like Soft Suave to scale and optimize your app\u2019s performance.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-\"><\/h3>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Learn how a NodeJS server with Supabase simplifies the development of real-time applications, providing quick deployment and robust backend support.<\/p>\n","protected":false},"author":3,"featured_media":18347,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[92,7],"tags":[],"class_list":["post-18224","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-solutions","category-web-solutions"],"_links":{"self":[{"href":"https:\/\/www.softsuave.com\/blog\/wp-json\/wp\/v2\/posts\/18224","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.softsuave.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.softsuave.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.softsuave.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.softsuave.com\/blog\/wp-json\/wp\/v2\/comments?post=18224"}],"version-history":[{"count":0,"href":"https:\/\/www.softsuave.com\/blog\/wp-json\/wp\/v2\/posts\/18224\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.softsuave.com\/blog\/wp-json\/wp\/v2\/media\/18347"}],"wp:attachment":[{"href":"https:\/\/www.softsuave.com\/blog\/wp-json\/wp\/v2\/media?parent=18224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.softsuave.com\/blog\/wp-json\/wp\/v2\/categories?post=18224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.softsuave.com\/blog\/wp-json\/wp\/v2\/tags?post=18224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}