Daily Meet — Engineering Overview
Where everything lives, which URL is which, and how the pieces fit together. Written for anyone joining the project cold.
What this is
Daily Meet is a social-connection platform: Users discover Hosts and pay (per minute) for audio/video calls and chat. Hosts earn a revenue share and cash it out after KYC. There are three deployable pieces and two Flutter apps:
Backend + Admin Panel
Repo: daily-meet-platform — FastAPI backend, PostgreSQL, and a server-rendered Admin Panel (a separate FastAPI process). Hosted on Railway.
User & Host apps
Repo: daily-meet-app — one Flutter workspace, two apps: the User App (root) and the Host App, branded "Daily Meet Celeb" (apps/host_app/).
System map
| Piece | Talks to | Notes |
|---|---|---|
| User App | Backend API, Firebase (own project), Agora/WebRTC, Razorpay/Cashfree/RevenueCat | Two build flavors — see App identifiers |
| Host App ("Daily Meet Celeb") | Backend API, Firebase (own, separate project), Agora/WebRTC | Two build flavors, no payment SDKs |
| Admin Panel | Backend API only — never touches Postgres directly | Server-rendered FastAPI, its own cookies |
| Backend | PostgreSQL, Firebase Admin (two projects), Agora, Cloudflare TURN, Razorpay, Cashfree, Stream, MSG91 | Single source of truth for wallet balance, billing, KYC, presence |
Testing vs. production, at a glance
Full detail, DNS records, and the promotion workflow are on the Environments page. Quick snapshot:
| Testing | Production | |
|---|---|---|
| Backend | api-staging.dailymeet.in | api.dailymeet.in |
| Admin Panel | admin-staging.dailymeet.in | admin.dailymeet.in |
| Deploys from branch | main, every push | production, on merge only |
| Database | own Postgres | own, isolated Postgres |
| Payment keys | sandbox/test | still sandbox — not yet live |
This wiki covers setup, environments, identifiers, variables, and release process. For feature-level engineering detail (how a specific screen or endpoint works), see each repo's own docs/KT_INDEX.md — that's the day-to-day knowledge-transfer set this wiki doesn't duplicate.
Repositories
| Repo | Org remote | Contains |
|---|---|---|
daily-meet-platform | github.com/DailyMeet-Apps/daily-meet-platform | Backend, Admin Panel, Railway infra-as-code, this wiki |
daily-meet-app | github.com/DailyMeet-Apps/daily-meet-app | User App, Host App, shared Dart package |
Both repos also push to a personal fork remote (origin) alongside the org remote (dailymeet/DailyMeet-Apps) — daily-meet-app has a scripts/push_all.sh that pushes to both under the right GitHub account automatically.