এই অ্যাপটি একটি single HTML ফাইল — চালানোর জন্য নিজের Firebase প্রজেক্ট আর Cloudinary আনসাইনড আপলোড প্রিসেট লাগবে। নিচের ধাপগুলো অনুসরণ করে ফাইলের একদম উপরের দিকের CONFIG অংশে বসিয়ে দিন।
firebaseConfig কপি করুন।Firestore Rules (উদাহরণ):
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{uid} {
allow read: if request.auth != null;
allow write: if request.auth.uid == uid;
}
match /chats/{chatId} {
allow read, write: if request.auth != null &&
request.auth.uid in chatId.split('_');
match /messages/{msgId} {
allow read, write: if request.auth != null &&
request.auth.uid in chatId.split('_');
}
}
match /calls/{callId} {
allow read, write: if request.auth != null &&
(request.auth.uid == resource.data.callerId ||
request.auth.uid == resource.data.calleeId ||
request.auth.uid == request.resource.data.callerId ||
request.auth.uid == request.resource.data.calleeId);
match /callerCandidates/{docId} {
allow read, write: if request.auth != null;
}
match /calleeCandidates/{docId} {
allow read, write: if request.auth != null;
}
}
}
}
ফাইলে যেখানে বসাবেন (index.html-এর <script type="module"> অংশের একদম শুরুতে):
const firebaseConfig = {
apiKey: "...",
authDomain: "...",
projectId: "...",
storageBucket: "...",
messagingSenderId: "...",
appId: "..."
};
const CLOUDINARY_CLOUD_NAME = "your-cloud-name";
const CLOUDINARY_UPLOAD_PRESET = "your-unsigned-preset";
বসানো শেষে ফাইলটি রিফ্রেশ করুন বা Cloudflare Pages-এ ডিপ্লয় করুন (Framework preset: None, শুধু এই index.html ফাইলটাই আপলোড করলেই চলবে)।
অডিও কল সম্পর্কে: মাইক্রোফোন ব্যবহারের জন্য ব্রাউজার HTTPS লাগবে (Cloudflare Pages ডিফল্টভাবে HTTPS দেয়, তাই সমস্যা হবে না)। কল সিগন্যালিং Firestore-এর calls কালেকশন দিয়ে হয় এবং শুধু পাবলিক STUN সার্ভার ব্যবহার করা হয়েছে — বেশিরভাগ নেটওয়ার্কে কাজ করবে, তবে কিছু কড়া ফায়ারওয়াল/করপোরেট নেটওয়ার্কে TURN সার্ভার ছাড়া কল সংযুক্ত নাও হতে পারে।
"ভিডিও" ট্যাব সম্পর্কে (ঐচ্ছিক): এটা চালু করতে Google Cloud Console-এ গিয়ে YouTube Data API v3 চালু করে একটা API Key বানান, তারপর YOUTUBE_API_KEY-তে বসান। না বসালে বাকি অ্যাপ স্বাভাবিক চলবে, শুধু "ভিডিও" ট্যাবে একটা বার্তা দেখাবে।
নিচের "মানুষ" ট্যাব থেকে যে কারো সাথে চ্যাট শুরু করুন — নতুন কেউ অ্যাকাউন্ট বানালেই এখানে দেখা যাবে।