Back to Projects

نشير للأفضل

نشير للأفضل

نُشِيرُ لِلْأَفْضَلِ 🤟

منصة تعليمية مبتكرة لدعم الطلاب الصم والبكم عبر مناهج تفاعلية بلغة الإشارة.

📖 عن المشروع

نُشِيرُ لِلْأَفْضَلِ هي منصة ويب توفر تجربة تعليمية مرنة وشاملة للطلاب الصم وضعاف السمع. تُقدَّم الدروس في صورة فيديوهات بلغة الإشارة، منظمة حسب الصف الدراسي ← الفصل الدراسي ← المادة، ليتمكن الطلاب من الوصول بسهولة إلى المنهج الذي يحتاجونه.

تم تطوير المشروع بواسطة فريق علوم إعاقة بجامعة الزقازيق.

✨ المميزات

  • 🎓 منهج منظم — محتوى مقسم حسب الصف والفصل الدراسي والمادة
  • 🎥 دروس فيديو بلغة الإشارة — بث الفيديو بأداء محسّن
  • 🧭 قائمة جانبية ديناميكية — تصفح كامل هيكل المنهج الدراسي
  • 🌙 الوضع الليلي / النهاري — تبديل المظهر مع دعم تفضيلات النظام
  • 📱 تصميم متجاوب بالكامل — تنقل وواجهة مخصصة للهواتف المحمولة
  • 🔍 محسّن لمحركات البحث — بيانات وصفية و sitemap و robots.txt وصورة Open Graph
  • تجربة سلسة — انتقالات بين الصفحات وتمرير ناعم

🛠️ التقنيات المستخدمة

الفئة

التقنية

إطار العمل

Next.js 15 (App Router، Turbopack)

اللغة

TypeScript

واجهة المستخدم

React 18، Tailwind CSS 4، Radix UI، Lucide Icons

نظام إدارة المحتوى

Sanity (next-sanity)

الفيديو

next-video

الحركات والانتقالات

GSAP، تمرير ناعم عبر Lenis، next-view-transitions

جلب البيانات

SWR

المظهر

next-themes

🚀 البدء

المتطلبات الأساسية

  • Node.js إصدار 18.18 أو أحدث
  • أحد مديري الحزم: npm أو yarn أو pnpm أو bun

التثبيت

  1. استنسخ المشروع:

git clone https://github.com/rezk20/noshearlilafdal.git
cd noshearlilafdal

  1. ثبّت الاعتماديات:

npm install

  1. شغّل خادم التطوير:

npm run dev

افتح http://localhost:3000 في المتصفح لمشاهدة الموقع.

ملاحظة: أمر التشغيل ينفّذ أيضًا next-video sync -w لمتابعة ومعالجة ملفات الفيديو.

بيئة الإنتاج

npm run build
npm run start

فحص جودة الكود

npm run lint

📂 هيكل المشروع

├── app/
│ ├── page.tsx # الصفحة الرئيسية (الواجهة، المستويات، التواصل)
│ ├── about/page.tsx # صفحة "من نحن؟" — فريق العمل
│ ├── layout.tsx # التخطيط الرئيسي (RTL، القائمة، التذييل)
│ ├── [classSlug]/
│ │ └── [semesterSlug]/
│ │ └── [subjectSlug]/page.tsx # صفحات دروس الفيديو
│ └── components/ # الواجهة، القائمة الجانبية، التذييل وغيرها
├── components/ui/ # مكونات واجهة قابلة لإعادة الاستخدام (زر، نافذة…)
├── lib/
│ ├── sanity.ts # عميل Sanity واستعلامات البيانات
│ └── utils.ts # دوال مساعدة (cn)
├── public/ # الملفات الثابتة (صور، خطوط، أيقونات)
└── next.config.ts # إعدادات Next.js

🗃️ نموذج المحتوى (Sanity)

يُدار المحتوى عبر مجموعة بيانات في Sanity بأنواع المستندات التالية:

  • class — الصف الدراسي
  • semester — الفصل الدراسي داخل الصف
  • subject — المادة داخل الفصل الدراسي
  • video — فيديو الدرس (الاسم، الرابط المختصر، الوصف، ملف الفيديو، علامة approved)

تُعرض على الموقع الفيديوهات المعتمدة فقط. ويتم تخزين البيانات مؤقتًا وتحديثها كل 10 دقائق.

🤝 المساهمة

نرحّب بمساهماتكم! إذا أردت المساعدة — سواء في البرمجة أو المحتوى أو فيديوهات لغة الإشارة — يرجى فتح Issue أو إرسال Pull Request.

📬 التواصل

📄 الترخيص

© فريق علوم إعاقة — جامعة الزقازيق. جميع الحقوق محفوظة.

تم تصميم الموقع بواسطة رزوق ❤️

Tech Stack

Nextjs
Nextjs
Sanity
Sanity
Tailwind Css
Tailwind Css
Radix UI
Radix UI
Lenis
Lenis
Open Graph
Open Graph
Vercel
Vercel
GSAP
GSAP
Typescript
Typescript

Project Gallery

4 screenshots · click to view

Ready to explore?

Check out the live project or dive into the source code on GitHub