Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
تحدّي منصة عربية لإنشاء المسابقات والألعاب الجماعية المباشرة. شارك رمز الغرفة، واستقبل اللاعبين، وتابع الإجابات والترتيب لحظة بلحظة.
Translation pending
GamesTypeScript · CSSGitHub @ziztp854-codeOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗منصة عربية للمسابقات والألعاب والأسئلة المباشرة. يضم المستودع البنية التقنية ونظام تصميم عربي RTL، مع مصادقة، بنك أسئلة، منشئ مسابقات، وخدمة زمن حقيقي (Socket.IO) تشغّل عدة ألعاب مباشرة محفوظة في PostgreSQL.
التسمية: اسم المنتج هو تحدّي (Tahaddi). النطاق العام
qurabia.comوحزمة المهاراتqurabia-*في.agents/skillsتشير إلى نفس المنتج.
.nvmrc هو 24).pnpm setup:env أو انسخ .env.example إلى .env يدويًا.pnpm install.pnpm infra:up.pnpm db:validate ثم pnpm db:generate.pnpm dev.الواجهة تعمل افتراضيًا على http://localhost:3000، وفحص خدمة الزمن الحقيقي على http://localhost:3001/health مع بقاء المسار المسبق http://localhost:3001/realtime/health متاحًا.
صفحة مرجع الواجهة متاحة في /design-system. يبدأ مسار الجلسة المباشرة من /host بعد تسجيل دخول المضيف، ويفضّل Google OAuth عند توفره. ينضم اللاعب كزائر دون حساب من /join أو رابط دعوة مثل /join/[code]، ثم ينتقل إلى /live/[sessionId]/play.
| الأمر | الوظيفة |
|---|---|
pnpm dev | تشغيل الواجهة وخدمة الزمن الحقيقي |
pnpm build | بناء جميع الحزم والتطبيقات |
pnpm lint | فحص ESLint دون تعديل الملفات |
pnpm typecheck | فحص TypeScript الصارم |
pnpm test | تشغيل الاختبارات الحالية |
pnpm --filter @tahaddi/web test:e2e | تشغيل اختبارات الواجهة الشاملة |
pnpm format:check | فحص تنسيق Prettier |
pnpm db:validate | التحقق من مخطط Prisma |
pnpm db:generate | توليد عميل Prisma |
pnpm infra:up | تشغيل PostgreSQL وRedis |
pnpm infra:down | إيقاف الخدمات المحلية |
apps/
web/ Next.js App Router وواجهة RTL (BFF وREST غير اللحظي)
realtime/ NestJS + Socket.IO: الجلسات المباشرة، الوقت، النقاط
desktop/ تطبيق سطح المكتب (Tauri) لشاشة المضيف والعرض
mobile/ تطبيق الجوال
packages/
config/ اسم المنتج والإعدادات المشتركة
contracts/ عقود zod والأنواع وأسماء الأحداث بين الواجهة والخادم
domain/ قواعد النطاق ومعادلات النقاط وانتقالات الحالة
database/ Prisma Client ومحول PostgreSQL
prisma/ المخطط والمهاجرات وملف seed
scripts/ أدوات الصيانة (بنك الأسئلة، Blender، النشر)
tests/load/ اختبارات الحمل k6
docs/ الوثائق والتقارير والملاحظات
.agents/ مهارات وإعدادات أدوات الذكاء الاصطناعي للمطوّرين (ليست جزءًا من المنتج)
اعتماديات تشغيل خدمة الزمن الحقيقي (NestJS، Socket.IO، ioredis، Sentry) معلنة في package.json الجذري عن قصد حتى يراها مُحزّم دوال Vercel، ويحمي ذلك الاختبار apps/realtime/src/deployment-config.spec.ts. لا تنقلها إلى apps/realtime دون تعديل الاختبار وإعداد النشر.
.gitlab-ci.yml يشغّل على كل Merge Request وعلى الفرع الافتراضي مهام متوازية: التحقق من Prisma، ESLint، TypeScript، Prettier، الاختبارات، Playwright E2E، والبناء، إضافةً إلى قوالب GitLab للفحص الأمني (SAST، Secret Detection، Dependency Scanning).db:migrate:production (على main فقط) تطبّق prisma migrate deploy على قاعدة الإنتاج باستخدام متغير CI المحمي PRODUCTION_DATABASE_URL. بناء Vercel للمعاينات (preview) لم يعد ينفّذ الهجرات إلا بضبط RUN_DB_MIGRATE=1..github/workflows/nextjs.yml يشغّل نفس السلسلة عند استخدام المرآة على GitHub.apps/web/src/config/site.ts.apps/web/src/config/navigation.ts.apps/web/src/app/globals.css.apps/web/src/components/ui.apps/web/src/components/quiz.design.md. الدليل الكامل وقواعد RTL والوصولية: docs/design-system.md.لتغيير الهوية حدّث site.ts. لتغيير لون عدّل متغير CSS الدلالي في الوضعين الداكن والفاتح، ولا تستخدم لونًا ثابتًا داخل المكوّن. عند إضافة مكوّن جديد عرّف Props واضحة، أضف حالات الوصولية والاختبار، ثم اعرضه في /design-system.
.env محلي ومهمل من Git.راجع docs/product-requirements.md للنطاق ومعايير القبول وdocs/architecture.md للقرارات التقنية.
نتائج التنفيذ والتحقق موثقة في docs/phase-2-report.md، ومرجع المرحلة الثالثة في docs/design-system.md.
تقارير المراجعة في docs/reviews/ وملاحظات العمل المؤقتة في docs/notes/.