আপনি কি একজন ছাত্র, ফ্রেশার, বা শখের ডেভেলপার যে মনের মতো একটি ফুল-স্ট্যাক ওয়েব অ্যাপ বানাতে চান, কিন্তু হোস্টিং আর ডেটাবেসের খরচ আর ক্রেডিট কার্ডের ঝামেলা দেখে থমকে গেছেন? বিশ্বাস করুন, বাংলাদেশে আপনার মতো অনেকেই আছেন। কিন্তু সুখবর হলো—২০২৪ সালেও আপনি একটি পূর্ণাঙ্গ ওয়েব অ্যাপ বানিয়ে, ডেটাবেস সহ, সম্পূর্ণ ফ্রি-তে ইন্টারনেটে লাইভ করতে পারেন, এমনকি ক্রেডিট কার্ড ছাড়াই। এই ব্লগে আমি দেখাবো কিভাবে free full stack hosting Bangladesh সম্ভব Vercel, Railway আর MongoDB Atlas এর কম্বিনেশনে।
আমি নিজেও প্রথম দিকে ভাবতাম ফ্রি মানে হয়তো সীমিত বা কম কোয়ালিটি। কিন্তু বাস্তবে দেখা গেছে, এই তিনটি প্ল্যাটফর্ম মিলে এতটাই শক্তিশালী যে ছোট-মাঝারি প্রজেক্ট, পোর্টফোলিও, এমনকি স্টার্টআপের MVP-ও অনায়াসে চালানো যায়। আজকের এই গাইডে আমি একদম শুরু থেকে ধাপে ধাপে দেখাবো কিভাবে একটি রিঅ্যাক্ট + নোড.জেএস অ্যাপ বানিয়ে, MongoDB Atlas এ ডেটাবেস রেখে, Railway এ ব্যাকএন্ড আর Vercel এ ফ্রন্টএন্ড হোস্ট করবেন—সব ফ্রি প্ল্যানে, কার্ড ছাড়াই।
কেন Vercel, Railway আর MongoDB Atlas?
বাংলাদেশে অনেক হোস্টিং প্রোভাইডার আছে, কিন্তু বেশিরভাগ ক্ষেত্রেই ক্রেডিট কার্ড বা ডলার পেমেন্ট লাগে। Vercel আর Railway দুটোতেই GitHub দিয়ে সাইন-আপ করলে ফ্রি টায়ার পাওয়া যায়, আর MongoDB Atlas এ M0 ফ্রি ক্লাস্টার আছে যা ৫১২MB স্টোরেজ দেয়—শখের আর ছোট কমার্শিয়াল প্রজেক্টের জন্য যথেষ্ট।
- Vercel: ফ্রন্টএন্ড (React, Next.js, Vue) হোস্ট করার জন্য দুর্দান্ত। গ্লোবাল CDN, অটো SSL, অটো ডিপ্লয়—সব ফ্রি।
- Railway: ব্যাকএন্ড (Node.js, Python, Go) আর ডেটাবেস সার্ভিসের জন্য। ফ্রি টায়ারে মাসে $৫ ক্রেডিট দেয়, যা ছোট অ্যাপের জন্য যথেষ্ট।
- MongoDB Atlas: ক্লাউড ডেটাবেস, M0 ফ্রি ক্লাস্টার, ব্যাকআপ আর স্কেলিং সহ।
এই স্ট্যাকের সবচেয়ে বড় সুবিধা হলো—সবকিছু GitHub এর সাথে কানেক্টেড। কোড পুশ করলেই অটো ডিপ্লয় হয়ে যাবে।
ধাপ ১: প্রজেক্ট সেটআপ ও রিকোয়ারমেন্ট
শুরু করার আগে আপনার কম্পিউটারে Node.js (v18 বা তার উপরে) আর Git ইনস্টল থাকতে হবে। তারপর একটি ফোল্ডার বানিয়ে নিন। আমরা ধরছি আপনার অ্যাপের নাম my-fullstack-app।
ফ্রন্টএন্ডের জন্য React (Vite দিয়ে), আর ব্যাকএন্ডের জন্য Express.js ব্যবহার করবো। ডেটাবেস MongoDB Atlas।
# ফ্রন্টএন্ড তৈরি
npm create vite@latest client -- --template react
cd client
npm install
# ব্যাকএন্ড তৈরি
mkdir ../server
cd ../server
npm init -y
npm install express mongoose cors dotenvএখন আপনার ফোল্ডার স্ট্রাকচার হবে এরকম:
my-fullstack-app/
├── client/
│ ├── src/
│ └── package.json
└── server/
├── index.js
└── package.jsonলোকালি টেস্ট করার জন্য দুটি টার্মিনাল খুলুন—একটায় npm run dev (client), অন্যটায় node index.js (server)।
ধাপ ২: MongoDB Atlas এ ফ্রি ডেটাবেস তৈরি
MongoDB Atlas এ যান, Google দিয়ে সাইন-ইন করুন। এরপর:
- নতুন প্রজেক্ট তৈরি করুন।
- Free M0 ক্লাস্টার সিলেক্ট করুন (Region হিসেবে Singapore বা Mumbai বেছে নিন, বাংলাদেশ থেকে লেটেন্সি কম হবে)।
- Database Access এ একটি ইউজার বানান, পাসওয়ার্ড সেভ করুন।
- Network Access এ
0.0.0.0/0অ্যাড করুন (সব IP থেকে অ্যাক্সেস, ডেভেলপমেন্টের জন্য ঠিক আছে)। - Connect → Drivers থেকে কানেকশন স্ট্রিং কপি করুন।
স্ট্রিংটি এরকম হবে:
mongodb+srv://<username>:<password>@cluster0.xxxxx.mongodb.net/myapp?retryWrites=true&writes=trueএটি server/.env ফাইলে রাখুন:
MONGO_URI=mongodb+srv://user:pass@cluster0.xxxxx.mongodb.net/myapp
PORT=5000এখন ব্যাকএন্ড কোড লিখুন। একটি সাধারণ API বানাই যা ইউজার ডেটা রিটার্ন করে।
// server/index.js
const express = require('express');
const mongoose = require('mongoose');
const cors = require('cors');
require('dotenv').config();
const app = express();
app.use(cors());
app.use(express.json());
mongoose.connect(process.env.MONGO_URI)
.then(() => console.log('MongoDB connected'))
.catch(err => console.log(err));
app.get('/api/hello', (req, res) => {
res.json({ message: 'Hello from Railway!' });
});
app.listen(process.env.PORT || 5000);লোকালি টেস্ট করুন http://localhost:5000/api/hello এ গিয়ে।
ধাপ ৩: Railway এ ব্যাকএন্ড ডিপ্লয়
Railway এ যান, GitHub দিয়ে সাইন-ইন করুন। New Project → Deploy from GitHub repo সিলেক্ট করুন। আপনার রিপোতে server ফোল্ডারটি থাকলে Railway সেটি ডিটেক্ট করবে।
Settings এ গিয়ে Root Directory হিসেবে server দিন। Environment Variables এ MONGO_URI আর PORT (Railway নিজেই দেয়, তবে আপনার কোডে process.env.PORT থাকলে সমস্যা নেই) অ্যাড করুন।
ডিপ্লয় শেষ হলে Railway একটি URL দেবে, যেমন https://myapp-production.up.railway.app। এটি কপি করে রাখুন।
একটি গুরুত্বপূর্ণ টিপ: Railway এর ফ্রি টায়ারে মাসে $৫ ক্রেডিট দেয়, তবে স্লিপ মোডে গেলে অ্যাপ বন্ধ হয়ে যায়। তাই server/package.json এ একটি স্টার্ট স্ক্রিপ্ট দিন:
'scripts': {
'start': 'node index.js'
}ধাপ ৪: Vercel এ ফ্রন্টএন্ড ডিপ্লয়
Vercel এ GitHub দিয়ে সাইন-ইন করুন। Add New Project → আপনার রিপো সিলেক্ট করুন। Root Directory হিসেবে client দিন। Framework Preset: Vite।
Environment Variables এ আপনার ব্যাকএন্ড URL দিন:
VITE_API_URL=https://myapp-production.up.railway.appএখন ফ্রন্টএন্ড কোডে API কল করুন:
// client/src/App.jsx
import { useEffect, useState } from 'react';
function App() {
const [msg, setMsg] = useState('');
useEffect(() => {
fetch(`${import.meta.env.VITE_API_URL}/api/hello`)
.then(res => res.json())
.then(data => setMsg(data.message));
}, []);
return <h1>{msg}</h1>;
}
export default App;Deploy চাপুন। কয়েক সেকেন্ডেই আপনার সাইট লাইভ হয়ে যাবে https://myapp.vercel.app এ।
ধাপ ৫: CORS আর এনভায়রনমেন্ট সেটিংস
অনেক সময় ফ্রন্টএন্ড থেকে ব্যাকএন্ডে কল করলে CORS এরর আসে। সমাধান—আপনার Express অ্যাপে cors() মিডলওয়্যার ব্যবহার করুন, এবং চাইলে নির্দিষ্ট অরিজিন দিন:
app.use(cors({ origin: 'https://myapp.vercel.app' }));আর Vercel এ ডিপ্লয় করার পর যদি API কল কাজ না করে, তাহলে Vercel ড্যাশবোর্ডে Environment Variables ঠিকভাবে সেট করেছেন কিনা চেক করুন। প্রতিবার এনভায়রনমেন্ট ভেরিয়েবল পরিবর্তন করলে রিডিপ্লয় করতে হবে।
আরেকটি টিপ—Railway এ ডেটাবেস কানেকশন স্ট্রিং কখনো কোডে হার্ডকোড করবেন না। সবসময় .env ফাইলে রাখুন এবং .gitignore তে .env অ্যাড করুন।
ধাপ ৬: ডোমেইন, SSL আর কাস্টমাইজেশন
Vercel আর Railway দুটোতেই ফ্রি SSL আর সাবডোমেইন পাবেন। আপনি চাইলে নিজের ডোমেইনও কানেক্ট করতে পারেন (যেমন Namecheap থেকে .xyz ডোমেইন মাত্র ১০০-২০০ টাকায়)। Vercel এ Domains সেকশনে গিয়ে ডোমেইন অ্যাড করলে DNS রেকর্ড দেখাবে, সেগুলো আপনার ডোমেইন প্রোভাইডারে বসিয়ে দিলেই হবে।
মনে রাখবেন, ফ্রি টায়ারে কিছু লিমিটেশন আছে—Railway মাসে ৫০০ ঘণ্টা, Vercel মাসে ১০০GB ব্যান্ডউইথ। ছোট প্রজেক্টের জন্য এগুলো যথেষ্ট।
আপনি যদি আরও শক্তিশালী কিছু শিখতে চান, আমাদের কোর্স দেখতে পারেন যেখানে ফুল-স্ট্যাক ডেভেলপমেন্টের সম্পূর্ণ গাইডলাইন আছে।
সাধারণ প্রশ্নোত্তর
ক্রেডিট কার্ড ছাড়া কি সত্যিই ফ্রি হোস্টিং সম্ভব?
হ্যাঁ, Vercel আর Railway উভয়েই GitHub অ্যাকাউন্ট দিয়ে সাইন-আপ করলে ফ্রি টায়ার দেয়, ক্রেডিট কার্ড লাগে না। MongoDB Atlas ও Google সাইন-ইন দিয়ে M0 ফ্রি ক্লাস্টার পাওয়া যায়।
Railway এর ফ্রি ক্রেডিট শেষ হয়ে গেলে কী হবে?
মাসিক $৫ ক্রেডিট শেষ হলে অ্যাপ বন্ধ হয়ে যাবে। তবে আপনি চাইলে অন্য ফ্রি প্ল্যাটফর্মে (Render, Cyclic) মাইগ্রেট করতে পারেন, অথবা Railway এর স্টার্টার প্ল্যান নিতে পারেন।
MongoDB Atlas এ ডেটা সিকিউর রাখবো কিভাবে?
Database Access এ শক্তিশালী পাসওয়ার্ড দিন, Network Access এ শুধু আপনার সার্ভারের IP অ্যাড করুন (০.০.০.০/০ নয়), আর কানেকশন স্ট্রিং কখনো পাবলিক রিপোতে পুশ করবেন না।
Vercel আর Railway একসাথে ব্যবহার করা কি জরুরি?
না, আপনি চাইলে পুরো অ্যাপ Railway বা Render এ হোস্ট করতে পারেন। তবে ফ্রন্টএন্ডের জন্য Vercel এর CDN আর ডিপ্লয় স্পিড অনেক ভালো।
বাংলাদেশ থেকে স্পিড কেমন হবে?
Vercel এর এজ নেটওয়ার্ক সিঙ্গাপুরে থাকায় বাংলাদেশ থেকে লেটেন্সি কম। Railway এর সিঙ্গাপুর রিজিয়ন সিলেক্ট করলে ব্যাকএন্ডও ফাস্ট হবে। MongoDB Atlas এ সিঙ্গাপুর বা মুম্বাই রিজিয়ন বেছে নিন।
শেষ কথা
তো এই ছিল সম্পূর্ণ গাইড—বাংলাদেশ থেকে free full stack hosting Bangladesh এর জন্য Vercel, Railway আর MongoDB Atlas এর কম্বিনেশন। শুরুতে একটু জটিল লাগলেও, একবার সেটআপ হয়ে গেলে প্রতিটি কোড পুশে অটো ডিপ্লয় হবে, আর আপনি ফোকাস করতে পারবেন ফিচার ডেভেলপমেন্টে।
পরবর্তী ধাপ হিসেবে আজই একটি ছোট প্রজেক্ট বানান—যেমন একটি টু-ডু অ্যাপ বা ব্লগ। কোড লিখুন, GitHub এ পুশ করুন, আর এই তিনটি প্ল্যাটফর্মে ডিপ্লয় করে ফেলুন। আটকে গেলে আমাদের কমিউনিটি তে প্রশ্ন করতে পারেন, অথবা ব্লগ এ আরও টিউটোরিয়াল পড়তে পারেন। শুভকামনা!


