على الرغم من أنه يمكن للطلاب الاطلاع على بيانات امتحانات جامعة غوتنغن في FlexNow، إلا أنه لم يعد من السهل العمل معهم هناك بعد الآن. ولذلك، أود أن أقدم طريقة لمعالجة بيانات الامتحان، على سبيل المثال. ب. تعرف على الاختبارات الأسهل/الأصعب أو المحاضرين الذين يمنحون درجات أفضل.
الميزات التي ينبغي تضمينها هي:
يمكن أن يُطلب من خادم الجامعة إرسال كافة البيانات التي يمكن الاطلاع عليها في FlexNow باستخدام طلبات GET وPOST البسيطة. لهذا أستخدم requests
الوحدات، urllib
و json
. يمكن إنشاء مجموعة بيانات كاملة نسبيًا من هذا.
يجب إرسال طلب POST لكل وحدة من الوحدات البالغ عددها 10000 وحدة تقريبًا، والتي يمكن من خلالها العثور على بيانات مواعيد الامتحانات الفردية (لقد قمت فقط بجمع بيانات آخر 10 فصول دراسية). ويمكن بعد ذلك حفظ البيانات في شكل جدول باستخدام pandas
. أنا أيضًا أستخدم numpy
للتلاعب.
لحفظ بعض الأعمال للآخرين، سأضيف نسختي المصغرة من وثائق API إلى هذا المستودع عندما أتمكن من الوصول إليه. يمكن العثور عليه كـ documentation.md
. بالإضافة إلى ذلك، يمكن العثور على مجموعة البيانات التي أستخدمها كـ module_data.csv
في هذا المستودع.
لقد قمت بتغيير البيانات على عدة خطوات باستخدام وظائف pandas
. بعد فوات الأوان، كنت أود أن أفعل ذلك في Jupyter Notebook لأنه كان سيكون أكثر وضوحًا. تتم معالجة البحث عن البيانات ومعالجتها في طلبات المستخدم من خلال الوظائف الموجودة في analyze_modules.py
.
يتم تشغيل استضافة التطبيق عبر gunicorn
والوحدة النمطية هيروكو Google Cloud Platform. يمكن العثور على التطبيق هنا (عنوان URL الجديد لأن Heroku لم يعد لديه خطة مجانية).