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

Project detailsتفاصيل المشروع
- الدور
- متطوّع: الموبايل والخادم
- السنة
- منذ 2022
- الحالة
- صدر
- بُني بـ
- React Native
- Expo
- TypeScript
- Firebase
- Zustand
- React Query
- Reanimated
- Zod
- Caching
ما هو
The committee had been answering the same questions in the same Facebook group for years: which prerequisites does this subject have, who teaches it, where are the notes, what will my GPA be if this goes badly.
The app turns that into structure. The study plan is a navigable tree, so a subject is a destination with everything hanging off it. Staff details are searchable. The GPA box projects both semester and cumulative results before the semester ends.
It is the longest-running thing I maintain, and the constraint that shapes it is that I am not paid for it. Anything that needs constant attention does not survive.
ظلّت اللجنة تجيب عن الأسئلة نفسها في مجموعة فيسبوك نفسها سنوات: ما متطلبات هذه المادة، ومن يدرّسها، وأين الملخصات، وكم سيصير معدّلي إن ساءت الأمور.
يحوّل التطبيق ذلك إلى بنية. الخطة الدراسية شجرة قابلة للتنقّل، فتصير المادة وجهةً يتدلّى منها كل شيء. وبيانات الهيئة التدريسية قابلة للبحث. وتتوقّع حاسبة المعدّل نتيجة الفصل والتراكمي قبل انتهاء الفصل.
هو أطول ما أتولى صيانته عمرًا، والقيد الذي يشكّله أنني لا أتقاضى عليه أجرًا، فأي شيء يحتاج انتباهًا دائمًا لا ينجو.
التحديات
البحث بلغتين في آن
المشكلة
يشير الطلاب إلى المادة نفسها بـ Signals أو «إشارات» أو برمز المساق، وكثيرًا ما يبدّلون في منتصف الجملة. وفهرسة لغة واحدة تعني فشل نصف عمليات البحث بصمت.
ما فعلته
تحمل كل مادة اسميها ورمزها في حقل واحد قابل للبحث، مُطبَّع من الطرفين. فيصل الاستعلام بأي لغة، أو بالرمز، إلى المادة نفسها.
شبكة جامعية لا يُعتمد عليها
المشكلة
يفتح الطلاب التطبيق بين المحاضرات، في الممرات والطوابق السفلية حيث الاتصال غير موثوق. وأي شاشة تتصل بالشبكة تجعل التطبيق يبدو معطلًا في المكان الذي يُستخدم فيه بالضبط.
ما فعلته
تُخزَّن شجرة الخطة ودليل الهيئة التدريسية بقوة وتُعامَل كبيانات بطيئة التغيّر، فيفتح التطبيق فورًا من الذاكرة ويُعيد التحقق في الخلفية بدل الانتظار على طلب.
محتوى يجب أن يعيش بعد صائنه
المشكلة
تتغيّر الخطط الدراسية، وينتقل أعضاء الهيئة، وأنا متطوّع واحد. والتطبيق الذي يحتاج إصدار شيفرة كلما تغيّر اسم مساق يموت لحظة انشغالي.
ما فعلته
كل ذلك محتوى في Firebase، قابل للتعديل من أعضاء اللجنة دون المساس بالتطبيق. مهمتي التطبيق، وتحديث البيانات مهمتهم، وهو الترتيب الوحيد الذي يدوم.
النتائج
- Published on Google Play and maintained across multiple student intakes.
- About eleven services behind one search box.
- Content editable by the committee without a release.
- منشور على Google Play ومُصان عبر دفعات طلابية متعددة.
- نحو أحد عشر خدمة خلف صندوق بحث واحد.
- محتوى قابل للتعديل من اللجنة دون إصدار جديد.




