<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Shaad Shaikh</title>
    <description>The latest articles on DEV Community by Shaad Shaikh (@shaad2114).</description>
    <link>https://dev.to/shaad2114</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3069257%2Fe7ae9aa9-ea8f-43c2-b29d-d3fcfd56742d.jpg</url>
      <title>DEV Community: Shaad Shaikh</title>
      <link>https://dev.to/shaad2114</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shaad2114"/>
    <language>en</language>
    <item>
      <title>Deploy Your Full-Stack App for Free: Host Backend on Render and Frontend on Netlify in Minutes</title>
      <dc:creator>Shaad Shaikh</dc:creator>
      <pubDate>Sun, 20 Apr 2025 20:37:43 +0000</pubDate>
      <link>https://dev.to/shaad2114/deploy-your-full-stack-app-for-free-host-backend-on-render-and-frontend-on-netlify-in-minutes-c7i</link>
      <guid>https://dev.to/shaad2114/deploy-your-full-stack-app-for-free-host-backend-on-render-and-frontend-on-netlify-in-minutes-c7i</guid>
      <description>&lt;p&gt;Deploying your full-stack application doesn’t have to be complicated—or expensive. In this guide, I’ll walk you through the process of deploying your backend (e.g., Node.js, Express) to Render, and your frontend (e.g., React, Flutter Web) to Netlify, both completely free.&lt;br&gt;
This is a great setup for hosting portfolios, projects, or MVPs using modern, production-ready services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔧 What You Need&lt;/strong&gt;&lt;br&gt;
A backend project (Node.js/Express, Django, Flask, etc.)&lt;br&gt;
A frontend project (React, Vue, or Flutter web)&lt;br&gt;
GitHub account with both projects pushed to separate repositories&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔙 Step 1: Hosting the Backend on Render&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Push Your Backend to GitHub
Make sure your backend project includes:
A package.json file (if using Node.js)
A working start script (e.g., node index.js)
.env file locally for secrets like MongoDB URLs or JWTs&lt;/li&gt;
&lt;li&gt;Set Up Render Deployment
Go to &lt;a href="https://render.com" rel="noopener noreferrer"&gt;https://render.com&lt;/a&gt; and sign in.
Click "New" → "Web Service".
Connect your GitHub account and select the backend repository.
Fill in deployment settings:
Name: my-backend
Build Command: npm install (or your language’s equivalent)
Start Command: npm start or node index.js
Environment: Node, Python, etc.
Add your required Environment Variables in the Render dashboard.
Click "Create Web Service".
Render will build and deploy your backend and give you a live URL like:
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`https://my-backend.onrender.com`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ferzh9iuwoqp22p08f2u0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ferzh9iuwoqp22p08f2u0.png" alt="Render Dashboard showing backend deployment setup" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🌐 Step 2: Hosting the Frontend on Netlify&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Push Your Frontend to GitHub
Whether it's a React, Vue, or Flutter web app, make sure it’s production-ready and committed to GitHub.&lt;/li&gt;
&lt;li&gt;Deploy on Netlify
Go to &lt;a href="https://netlify.com" rel="noopener noreferrer"&gt;https://netlify.com&lt;/a&gt; and log in.
Click "Add new site" → "Import an existing project".
Connect your GitHub and choose your frontend repo.
Fill in the deploy settings:
Build Command: npm run build (or flutter build web)
Publish Directory: build (for React) or build/web (for Flutter)
Add your environment variables (e.g., your backend URL).
Click Deploy Site.
You’ll get a public frontend URL like:
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`https://my-frontend.netlify.app``
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foy7n80v6vsae2a1bzkay.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foy7n80v6vsae2a1bzkay.png" alt="Netlify Dashboard with frontend deployment options" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔗 Step 3: Connecting Frontend to Backend&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Update your frontend code to make API calls to the live Render backend URL. Example in React using Axios:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`axios.get('https://my-backend.onrender.com/api/data');`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To avoid hardcoding URLs, use environment variables like .env:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`REACT_APP_API_URL=https://my-backend.onrender.com`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And in your code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`axios.get(`${process.env.REACT_APP_API_URL}/api/data`);`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;⚠️ Bonus: CORS Configuration in Backend&lt;/strong&gt;&lt;br&gt;
Make sure your backend allows requests from your frontend's domain. In Node.js/Express:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`const cors = require('cors');
app.use(cors({ origin: 'https://my-frontend.netlify.app' }));`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;✅ Final Testing&lt;/strong&gt;&lt;br&gt;
Open your Netlify URL.&lt;br&gt;
Interact with your app and make sure it communicates with the backend.&lt;br&gt;
Use browser dev tools to verify successful API responses.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwfhuslsb32mtsyslbxyv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwfhuslsb32mtsyslbxyv.png" alt="VS Code terminal showing build and deployment commands" width="800" height="198"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
