AutonomousVehicleControlBeginnersGuide
Python sample codes and documents about Autonomous vehicle control algorithm. This project can be used as a technical guide book to study the algorithms and the software architectures for beginners.
翻訳待ち
رقيب منصة أكاديمية متكاملة لإدارة الحضور والمحاضرات بتقنية QR لكلية العلوم — جامعة السويس. حضور فوري، تقارير لحظية، وأمان بمعايير مصرفية لطلاب وأعضاء هيئة التدريس.
翻訳待ち
教育TypeScript · JavaScriptGitHub @budiabdallah20オンライン所有者未確認
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
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 ↗منصة إدارة الحضور والمحاضرات الأكاديمية — كلية العلوم، جامعة السويس
English: RAQiB is a full academic-operations platform — QR attendance, rosters and scheduling, grades with GPA tracking, multi-role auth (student/professor/admin), auditing and a live status page. Built with Next.js 15 + TypeScript + Prisma, deployed on Vercel with strict security headers.
| 🔐 مصادقة متعددة الطبقات | JWT (كوكيز HttpOnly) + Passkey/WebAuthn (بصمة الجهاز) + bcrypt-12 + rate-limit |
| 🧾 حضور بـ QR دوراني | رمز QR جديد كل 20 ثانية بصلاحية قصيرة + كود يدوي من 6 أرقام + منع المسح المتكرر |
| 🪧 لوحة عرض المحاضرة | QR عملاق + عدّاد تنازلي + عدد الحاضرين لحظياً + آخر 5 عمليات مسح |
| 🗓️ جداول بالسحب والإفلات | ترتيب المواد داخل خلايا الجدول (تبديل كامل) مع تراجع — والسيرفر هو صاحب القرار |
| 📊 إدارة أكاديمية كاملة | الطلاب، هيئة التدريس، المواد، الكويز/الأعمال/الميدترم، وإعدادات النظام من لوحة الأدمن |
| 🧮 حساب GPA تدريجي | تقدير تراكمي صريح يخضع لسياسة النظام القابلة للضبط |
| 🛡️ أمان افتراضي صارم | CSP مقفلة، HSTS، سجل تدقيق لكل العمليات الحساسة، وسرية الرموز |
🩺 صفحة /status | فحوص صحة حية تحسب مباشرة من قاعدة البيانات وتعرض حالة كل مكوّن |
| 📬 استعادة كلمة المرور | عبر Resend (اختيارية) مع توقيع محمي في الإنتاج |
| الهبوط | تسجيل الدخول | لوحة الطالب |
|---|---|---|
| الطبقة | التقنية |
|---|---|
| الواجهة والسيرفر | Next.js 15 (App Router) · React 19 · Turbopack للتطوير |
| اللغة | TypeScript 5.6 بصرامة كاملة (tsc --noEmit في الـ CI) |
| قاعدة البيانات | Prisma 5 + SQLite تطويراً · PostgreSQL للإنتاج |
| التنسيق | Tailwind CSS 3 بهوية عربية RTL مخصصة (ذهبي/فحمي) |
| الحركة | Framer Motion |
| الاختبار | Vitest 5 (وحدات) · Playwright (شاملة E2E) |
| النشر | Vercel (HTTP/3) · GitHub Actions للحماية |
| التشغيل البديل | Docker (وفي المستودع Dockerfile و docker-compose) |
| التطوير المحلي | HTTPS موقّع عبر mkcert مع server.mjs على المنفذ 5000 |
git clone https://github.com/budiabdallah20/raqib.git
cd raqib
npm ci
cp .env.example .env # ثم عدّل القيم إن لزم
npm run db:push
npm run db:seed
npm run dev # http://localhost:3000
# أو HTTPS موقّع محلياً:
npm run dev:https # https://localhost:5000
بديل بضغطة واحدة:
docker compose up --build
| الدور | البريد | كلمة المرور |
|---|---|---|
| أدمن | [email protected] | Admin@123 |
| دكتور | [email protected] | Prof@123 |
| طالب | [email protected] | Student@123 |
⚠️ حسابات البذرة للتطوير فقط — غيّرها في أي بيئة حقيقية.
انسخ .env.example إلى .env محلياً، أما قيم الإنتاج فتوضع مشفرة على Vercel:
Project Settings → Environment Variables (اكتب القيم الحقيقية هناك ولا ترفعها للشيفرة أبداً).
| المتغير | الهدف | ملاحظات الإنتاج |
|---|---|---|
DATABASE_URL | الاتصال بالقاعدة | تطويراً: file:./dev.db · إنتاجاً: سلسلة Postgres مع sslmode=require |
JWT_SECRET | توقيع الجلسات | سر 64 حرف — ولّده: node -e "console.log(require('crypto').randomBytes(48).toString('base64url'))" |
ADMIN_ACCESS_CODE_HASH | كود دخول الإدارة (bcrypt-12) | ولّده: npm run admin:code |
NEXT_PUBLIC_APP_URL | العنوان الرسمي | https://raqibdev.vercel.app |
TRUST_PROXY | ثقة رؤوس X-Forwarded خلف بروكسي | 1 على Vercel / Nginx |
PASSKEY_RP_ID | نطاق WebAuthn | نطاق الإنتاج بدون https:// ولا مسارات |
RESEND_API_KEY | البريد لاستعادة كلمة المرور | اختياري |
ALLOW_DEMO_RESET | تفعيل مسح البيانات التجريبية | يجب أن يبقى 0 في الإنتاج |
SHOW_DEV_RESET_CODE | إظهار كود الاستعادة في استجابة API | يجب أن يكون 0 في الإنتاج (أمان) |
| الأمر | الوظيفة |
|---|---|
npm run dev | خادم تطوير على 3000 (Turbopack) |
npm run dev:https | خادم تطوير HTTPS موقّع على 5000 |
npm run build | بناء إنتاج (يشغّل prisma generate أولاً — مطلب Vercel) |
npm run verify | بوابة الجودة الكاملة: tsc + بناء + اختبارات |
npm test | اختبارات الوحدات (Vitest) |
npm run test:e2e | اختبارات Playwright التفاعلية |
npm run db:push / db:seed / db:studio | إدارة قاعدة البيانات |
npm run db:backup / db:audit / db:verify | النسخ الاحتياطي والتدقيق والتفتيش |
npm run security:env | تدقيق الأمان وصحة متغيرات البيئة |
npm run admin:code | توليد هاش كود دخول الإدارة |
npm run screenshots | التقاط لقطات شاشة التوثيق |
This is the beginning of the README. Read the rest at the original. Read the full README ↗