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
تحدّي는 실시간 대회·그룹 게임을 만들고 방 코드를 공유해 플레이어를 맞이하며 답변과 순위를 실시간으로 확인합니다
تحدّي منصة عربية لإنشاء المسابقات والألعاب الجماعية المباشرة. شارك رمز الغرفة، واستقبل اللاعبين، وتابع الإجابات والترتيب لحظة بلحظة.
게임TypeScript · CSSGitHub @ziztp854-code온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
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/.