個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證WeWatch — social online cinema / watch-party platform by Tezcode (6 microservices + gateway)
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Social online cinema: watch YouTube, VK, Rutube, and 10+ other sources in perfect sync with friends, in real time.
Watch Party live sync · Direct messages · Friends · Telegram & Google auth · Web, Android and iOS clients
WeWatch lets you start a room, drop in a video link, and watch it together with friends — playback stays in sync for everyone, with live chat, reactions, and voice alongside the video. Built by Tezcode (Tashkent, Uzbekistan).檢視完整 README ↗Social online cinema: watch YouTube, VK, Rutube, and 10+ other sources in perfect sync with friends, in real time.
Watch Party live sync · Direct messages · Friends · Telegram & Google auth · Web, Android and iOS clients
WeWatch lets you start a room, drop in a video link, and watch it together with friends — playback stays in sync for everyone, with live chat, reactions, and voice alongside the video. Built by Tezcode (Tashkent, Uzbekistan).
Key features:
| Service / App | Tech | Port |
|---|---|---|
services/auth | Node.js + Express + MongoDB | 3001 |
services/user | Node.js + Express + MongoDB | 3002 |
services/content | Node.js + Express + Elasticsearch | 3003 |
services/watch-party | Express + Socket.io + Redis | 3004 |
services/notification | Express + Firebase FCM + Bull | 3007 |
services/admin | Express + MongoDB | 3008 |
services/payment | Express + MongoDB — tezcode-billing bridge | 3009 |
apps/mobile | React Native + Expo (Android + iOS) | — |
apps/web | Next.js — marketing site (wewatch.uz) | — |
apps/app-web | Next.js — web app (app.wewatch.uz) | — |
apps/admin-ui | React + Vite admin dashboard | 5173 |
| Database | MongoDB Atlas | — |
| Cache / pub-sub | Redis 7 | — |
| Search | Elasticsearch | — |
Monorepo: npm workspaces (services/*, apps/*, shared).
Node.js microservices, each independently deployable to Railway.
apps/mobile, apps/web, apps/app-web, apps/admin-ui
│
│ (each client calls every service's own Railway URL directly —
│ no shared API gateway)
┌──────┬───┴────┬───────────┬──────────────┬───────┐
▼ ▼ ▼ ▼ ▼ ▼
auth user content watch-party notification admin
│
Socket.io + Redis
(realtime sync, DMs, presence)
shared/ holds types, constants (incl. Socket.io event names), and utils used by every service — changes there are cross-cutting and reviewed accordingly.
npm install
cp services/auth/.env.example services/auth/.env
# (repeat for each service)
npm run docker:dev # MongoDB + Redis + Elasticsearch via Docker
npm run dev:auth # start an individual service
docker compose -f docker-compose.prod.yml up -d --build
Services deploy to Railway via GitHub Actions on push to main (.github/workflows/deploy-prod.yml), gated by a typecheck/test pass. See DR-PLAN.md for backup and disaster recovery.
Each service has its own .env.example. Required across all services:
MONGO_URI — MongoDB Atlas connection stringREDIS_URL — Redis connection stringJWT_SECRET / JWT_REFRESH_SECRET — signing keysSENTRY_DSN — error monitoring (optional, disables Sentry if absent)npm run test:api # Playwright API tests (all services)
npm run test:smoke # @smoke tagged tests only
npm run test:report # open HTML report
Daily MongoDB backup to S3/R2 via GitHub Actions (.github/workflows/backup.yml). Recovery procedure: see DR-PLAN.md.
CLAUDE.md — development conventions and task trackingDR-PLAN.md — disaster recovery plandocs/Tasks.md — open tasksdocs/Done.md — completed tasks