尚未检测到更新。GitHub 发布版本后会显示在这里。
Official website for YO Voice
翻译准备中
正在加载完整 README。
查看完整 README ↗YO Voice is a modern cross-platform voice communication platform built with cutting-edge web technologies.
The official website serves as the public face of the project, allowing users to:
src/
├── app/
├── components/
├── config/
├── content/
├── hooks/
├── lib/
├── providers/
├── services/
├── store/
├── styles/
└── types/
/verify-email;
Google and Apple accounts arrive verified and skip it)All backed by Firebase Authentication (email/password, Google, Apple) on
the Flutter app's project (yovoice-ec54a) — one account works everywhere.
Google and Apple popups finish on Firebase's own handler,
https://yovoice-ec54a.firebaseapp.com/__/auth/handler (the SDK authDomain
is derived from the project id; auth.yovoice.app is not a registered Google
redirect URI). Provider set-up and the owner's console steps:
docs/security/security-notes.md, "Sign-in providers".
/account/*)/download, post-login)npm install
cp .env.example .env.local # fill in Firebase config, see below
npm run dev
Requires Node 20.9 or newer. Uses Turbopack (next dev/next build).
npm run lint # ESLint
npm run build # production build (also runs the TypeScript check)
All Firebase config is NEXT_PUBLIC_* (safe to expose — this is the
standard Firebase Web SDK client config, not a secret) and comes from the
same Firebase project as the Flutter app (yovoice-ec54a, "yo_voice
(web)" app), so the same account works across the marketing site, the
account pages, and the actual app.
| Variable | Purpose |
|---|---|
NEXT_PUBLIC_FIREBASE_API_KEY | Firebase Web SDK config |
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN | No longer read (since 2026-09-24). The SDK's authDomain is always <PROJECT_ID>.firebaseapp.com (src/lib/firebase/auth-domain.ts): Google rejects auth.yovoice.app/__/auth/handler with redirect_uri_mismatch. A value left in Vercel is ignored and can be deleted. |
NEXT_PUBLIC_FIREBASE_PROJECT_ID | yovoice-ec54a |
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET | Firebase Web SDK config |
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID | Firebase Web SDK config |
NEXT_PUBLIC_FIREBASE_APP_ID | Firebase Web SDK config |
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID | Firebase Analytics |
NEXT_PUBLIC_APP_URL | Where "Launch Web App" / post-login redirects send signed-in users. Canonical production URL: https://app.yovoice.app |
Set these locally in .env.local (gitignored) and in Vercel via
vercel env add <NAME> <environment> for production, preview, and
development — all three, since Next reads different files depending on
the run context.
yo-voice/yovoice-website, auto-deploys on
push to main.vercel link (already linked to
yo-voice/yovoice-website); vercel env pull .env.local to sync env
vars locally.yovoice.app is on Cloudflare. app.yovoice.app is the live,
canonical Flutter web application domain and points to Firebase Hosting.YO Voice combines
to create a memorable first impression.
Desktop:
Landing Page
↓
Download
↓
Login
↓
Dashboard
↓
Download Installer
Mobile:
Landing Page
↓
Download
↓
Google Play / App Store
App launch hand-off:
/app redirects immediately to the configured Flutter app origin with
location.replace().Private repository.
All rights reserved.