Daily Meet Wiki / Getting started

Getting started

Clone both repos, get the backend + admin panel running locally, then run either Flutter app against it.

Prerequisites

ToolUsed for
Python 3.11+ & PostgreSQLBackend + Admin Panel
Flutter SDKUser App & Host App
Xcode + CocoaPodsiOS builds (Mac only)
gem install xcodeprojEditing iOS build flavors/schemes programmatically — not needed for normal day-to-day work
Railway CLI (railway)Backend/Admin deploys, env vars — see Deployment
Firebase CLI (firebase)Only needed if registering a new Firebase app (e.g. a future build flavor)
gh (GitHub CLI), signed into both accountsdaily-meet-app pushes to two remotes — see Overview

1. Clone both repos

git clone https://github.com/DailyMeet-Apps/daily-meet-platform.git
git clone https://github.com/DailyMeet-Apps/daily-meet-app.git

Keep them as sibling folders — a few scripts reference the other repo by relative path (e.g. ../daily-meet-platform/scripts/run_backend_local.sh from inside daily-meet-app).

2. Backend + Admin Panel (daily-meet-platform)

cd backend
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env   # fill in a local Postgres URL and secrets — see Environment variables
./scripts/run_backend_local.sh   # or: uvicorn app.main:app --reload
cd admin_panel
pip install -r requirements.txt
./scripts/run_admin_local.sh     # or: uvicorn main:app --reload --port 8010

Local defaults: backend at http://127.0.0.1:8000, admin at http://127.0.0.1:8010. The admin panel talks to the backend via DAILY_MEET_API_BASE_URL — see Environment variables.

3. User App & Host App (daily-meet-app)

flutter pub get
(cd apps/host_app && flutter pub get)

./scripts/run_user_local.sh    # User App, against your local backend
./scripts/run_host_local.sh    # Host App, against your local backend

Both apps now require --flavor on every Flutter command (build flavors were added 2026-09-24) — the scripts above already pass it. See App identifiers for what the flavors are and Build & release for the full script list.

i

Android emulator reaches your local Mac via 10.0.2.2, not 127.0.0.1 — the app picks this automatically. A physical device needs your Mac's LAN IP passed explicitly; see Build & release.

4. Point at testing/production instead of local

./scripts/run_user_staging.sh   # api-staging.dailymeet.in
./scripts/run_user_release.sh   # api.dailymeet.in (production)

Full URL list on Environments.

Where the deep engineering docs live

This wiki is for setup/ops. For "how does feature X actually work", each repo has its own detailed knowledge-transfer docs:

  • daily-meet-platform/docs/KT_INDEX.md — backend, database, Admin Panel, workers, deployment
  • daily-meet-app/docs/KT_INDEX.md — User App, Host App, shared package, native platform integration