How imran-ahmedd/nnnnn works
সাথী একটি Vanilla JS/Firebase ডেটিং PWA। ব্যবহারকারী সাইন আপ বা লগইন করে প্রোফাইল ও ছবি যোগ করেন; এরপর আবিষ্কার ডেকে লাইক/পাস করেন, পারস্পরিক লাইক ম্যাচ তৈরি করে, এবং ম্যাচ থেকে রিয়েলটাইম চ্যাট বা WebRTC কল শুরু হয়। js/app.js ভিউ ও ফিচার মডিউলগুলোর সূচনা/নেভিগেশন সামলায়; Firebase Auth, Firestore ও Storage ডেটা ও সিগন্যালিংয়ের backend। README-তে বর্ণিত PWA app-shell cache-ও দেখানো হয়েছে।
Main entry points: app.js Bootstrap and navigation · auth.js Authentication · profile.js Onboarding and profile · swipe.js Discovery and matching
Components 17
App experience
- Single-page shell
index.html - Bootstrap and navigation
js/app.js - View and toast helpers
js/ui.js
Identity and profile
- Authentication
js/auth.js - Onboarding and profile
js/profile.js
Discovery and matching
- Discovery and matching
js/swipe.js
Chat and calls
- Match chat
js/chat.js - Video calling
js/videocall.js
Platform services
- Firebase client setup
js/firebase-config.js - Firestore
- Firebase Authentication
- Firebase Storage
- Browser WebRTC and media
- PWA manifest
manifest.json - App-shell service worker
sw.js - Browser cache
Other components
- App user
Connections 34
- App user → Single-page shell: uses
- Single-page shell → Bootstrap and navigation: loads
- Bootstrap and navigation → Authentication: starts and observes
- Bootstrap and navigation → Onboarding and profile: initializes
- Bootstrap and navigation → Discovery and matching: initializes and loads
- Bootstrap and navigation → Match chat: initializes
- Bootstrap and navigation → Video calling: initializes controls
- Bootstrap and navigation → View and toast helpers: switches views
- Authentication → Bootstrap and navigation: reports auth state
- Onboarding and profile → Bootstrap and navigation: signals completion
- Discovery and matching → Bootstrap and navigation: signals new match
- Bootstrap and navigation → App-shell service worker: registers
- Single-page shell → PWA manifest: declares PWA
- App-shell service worker → Browser cache: caches app shell
- Firebase client setup → Authentication: provides client
- Firebase client setup → Onboarding and profile: provides clients
- Firebase client setup → Discovery and matching: provides client
- Firebase client setup → Match chat: provides client
- Firebase client setup → Video calling: provides client
- Authentication → Firebase Authentication: authenticates
- Authentication → Firestore: reads and writes users
- Onboarding and profile → Firestore: updates profile
- Onboarding and profile → Firebase Storage: uploads photos
- Discovery and matching → Firestore: reads profiles and records swipes
- Discovery and matching → Firestore: creates matches
- Match chat → Firestore: listens and writes messages
- Match chat → Video calling: starts and listens for calls
- Video calling → Firestore: exchanges call signaling
- Video calling → Browser WebRTC and media: sets up media connection
- Authentication → View and toast helpers: shows errors
- Onboarding and profile → View and toast helpers: shows feedback
- Discovery and matching → View and toast helpers: shows feedback
- Match chat → View and toast helpers: formats timestamps
- Video calling → View and toast helpers: shows call views