نظام حضور وامتحانات جامعي متكامل — بدأ كنظام حضور بسيط بالـ QR وتطوّر لنظام كامل: جدول محاضرات، درجات امتحانات، إجازات مرضية، ترفيع مراحل، ولجنة امتحانية بقاعات مستقلة. مبني كموقع ويب وتطبيق Flutter بنفس الوقت، يشتغلون فوق نفس قاعدة البيانات وبنفس منطق العمل.
تسجيل الحضور بالورقة والقلم بطيء وقابل للتلاعب، ومتابعة الغياب والدرجات وجداول المحاضرات يدويًا مرهقة لأي قسم جامعي حقيقي. FAUNV يحل هذا بنظام واحد: التدريسي يفتح جلسة بـ QR متجدد تلقائيًا، الطالب يمسحه فيسجل حضوره فورًا، والنظام يحسب الغياب والدرجات والجدول تلقائيًا — لكل من الموقع والتطبيق، بنفس اللحظة.
جلسات حضور بـ QR متجدد تلقائيًا — التدريسي يفتح جلسة لمادته، والطلاب يسجلون حضورهم بمسح الرمز أو إدخال رقمهم الجامعي، مع قائمة حضور حية تتحدث لحظيًا.
غياب تلقائي — إغلاق الجلسة يسجل غياب كل طالب مسجّل بالمادة ولم يحضر، بدون أي تدخل يدوي.
درجات امتحانات لكل مادة — التدريسي ينشئ امتحانًا بدرجة كلية ويرصد درجة كل طالب، والطالب يشوف درجاته مجمعة حسب المادة.
جدول محاضرات أسبوعي، إجازات مرضية مستثناة من إحصائيات الغياب، وأداة ترفيع مراحل محمية بخطوتين (2FA) لنهاية كل فصل.
لجنة امتحانية مستقلة — نظام ثانٍ منفصل تمامًا لتوزيع طلاب الامتحانات النهائية على القاعات، بحسابات مراقبين خاصة بكل قاعة.
تطبيق Flutter كامل للتدريسي والطالب، يتواصل مع نفس الباك اند عبر API مستقل بالتوكن — مستقل تمامًا عن جلسات كوكيز الموقع.
مو كل تدريسي أو طالب يحب ينزّل تطبيق، ومو كل عملية إدارية مريحة على شاشة موبايل صغيرة. فبدل ما أختار وحدة، بنيت الاثنين فوق نفس الـ PHP API: الموقع يستخدم جلسات كوكيز تقليدية (مناسبة لمتصفح ثابت على جهاز القاعة أو المكتب)، والتطبيق يستخدم توكن مصادقة مستقل (Bearer Token) يصلح لجهاز شخصي يدخل ويطلع بحرية. كل التحديثات — جلسة تفتح، حضور يسجّل، درجة تُرصد — تظهر فورًا بالطرفين لأنهم يقرأون من نفس قاعدة البيانات لحظة بلحظة.
للاستخدام من متصفح ثابت — قاعة، مكتب إداري، أو جهاز اللجنة الامتحانية. مناسب للعمليات الطويلة مثل إدارة الطلاب أو مراجعة السجلات.
للاستخدام اليومي السريع — فتح جلسة أو مسح رمز حضور بثوانٍ من الموبايل الشخصي، بدون الحاجة لمتصفح أو حاسوب قريب.
كل تدريسي يشوف مواده المعينة له فقط من قِبل الإدارة — لا يقدر يفتح جلسة لمادة غير مادته. يضغط زر واحد فتنشأ الجلسة، يظهر رمز QR يتجدد الرمز الداخلي لها تلقائيًا كل فترة قصيرة لمنع مشاركة لقطة شاشة قديمة، وقائمة الحضور تحته تتحدث لحظيًا مع كل طالب يمسح الرمز. الأدمن عنده لوحة منفصلة تمامًا لإدارة الطلاب والتدريسيين والمواد والأقسام وتقارير الغياب الشاملة.


كل طالب يفتح لوحته فيشوف عدد أيام حضوره وغيابه وإجازاته بأرقام واضحة من أول ثانية، جدول محاضراته الأسبوعي مفلترًا حسب قسمه ومرحلته ونوع دراسته، أي جلسة مفتوحة حاليًا يقدر يمسح رمزها فورًا، ودرجات امتحاناته مجمّعة حسب المادة بمجرد ما يرصدها أستاذه. من جهة الأدمن، سجل الجلسات يحفظ كل جلسة انفتحت من أول يوم — بحالتها ومكانها وتاريخها — وقابل للتصدير كملف CSV لأي مراجعة أو أرشفة.


الحضور بس جزء من حياة القسم الأكاديمية اليومية — هذي الأدوات الثلاثة تغطي الباقي.
الجدول الأسبوعي — كل مادة لها يوم ووقت وقاعة وشعبة محددة، يشوفها التدريسي والطالب كل حسب مواده أو مواد قسمه ومرحلته ونوع دراسته (صباحي/مسائي)، بدون أي إعداد يدوي إضافي.
الإجازات المرضية — الأدمن يسجل إجازة طالب بعذر رسمي لتاريخ معين، فيُستثنى ذلك اليوم تلقائيًا من كل إحصائيات غيابه — بدون التلاعب بسجل الحضور الفعلي أو حذف أي بيانات.
ترفيع المراحل — أداة إدارية لمرة واحدة بنهاية كل فصل ترفّع كل طلاب القسم لمرحلتهم التالية دفعة واحدة، محمية بخطوتين (2FA) لأنها عملية لا رجعة فيها على مستوى القسم كامل، مع سجل نشاط كامل لكل محاولة ترفيع.
نظام فرعي مستقل تمامًا بمصادقته الخاصة ومنفصل عن حسابات التدريسيين والطلاب: اللجنة تنشئ امتحانًا نهائيًا لمادة ومرحلة معينة، تحدد قاعاته وسعة كل قاعة، والنظام يوزّع الطلاب المسجّلين على القاعات تلقائيًا بالتساوي. كل قاعة عندها حساب مراقب مستقل خاص بها فقط — يفتحه المراقب فيشوف قائمة طلاب قاعته حصرًا، بدون أي وصول لبقية القاعات أو لبيانات النظام الأساسي.


كودبيس Flutter واحد يخدم دورين مختلفين تمامًا: شاشة اختيار الحساب تحدد إذا كان المستخدم تدريسي أو طالب، وبعدها يدخل كل واحد لتجربته الخاصة بهوية بصرية عربية بسيطة أسود/أبيض بلمسة زرقاء واحدة. التدريسي يفتح جلساته ويرصد الدرجات من شاشته الرئيسية مباشرة — بما فيها نفس الجلسة الحية اللي تظهر بالموقع لحظة بلحظة. الطالب يمسح رمز QR للحضور، ويشوف إحصائياته ودرجاته وجلساته المفتوحة من لوحة واحدة. كل هذا عبر نفس الـ API، بتوكن مصادقة مستقل تمامًا عن كوكيز الموقع.



لا فريمورك بأي طبقة — PHP وJavaScript وFlutter مباشرة، على خادم Linux حقيقي يستضيف الموقع والـ API معًا لكل من متصفح الويب وتطبيق الموبايل.