هذا المشروع عبارة عن تطبيق ويب تفاعلي مبني باستخدام Streamlit، يتيح للمستخدمين حساب المساحة والمحيط لمختلف الأشكال الهندسية مثل الدائرة، المربع، والمستطيل. يتميز التطبيق بواجهة بسيطة وسهلة الاستخدام، حيث يمكن للمستخدم تحديد نوع الشكل وإدخال المعلمات المطلوبة مثل نصف القطر، الطول، أو العرض، ثم يعرض التطبيق النتيجة بناءً على الحسابات الرياضية المناسبة.
المميزات:
واجهة مستخدم تفاعلية وسهلة الاستخدام
إمكانية اختيار أشكال هندسية مختلفة
حساب المساحة والمحيط بشكل فوري
بُني باستخدام Python وStreamlit
التقنيات المستخدمة:
Python
Streamlit
Mathematical Computation
إمكانية تحسين المشروع:
دعم المزيد من الأشكال الهندسية
إضافة رسوم بيانية تفاعلية لعرض النتائج
تحسين التصميم بإضافة ألوان وأيقونات مناسبة
هل ترغب في إضافة أي تفاصيل أخرى للمشروع؟
2.هذا الكود هو عبارة عن نظام إدارة جامعة بسيط باستخدام واجهة رسومية (GUI) بلغة بايثون مع مكتبة Tkinter، وقاعدة بيانات SQLite لتخزين بيانات الطلاب، الدورات، التسجيلات، والأقسام.
شرح الكود بالتفصيل:
1. إعداد قاعدة البيانات (setup_database)
عند تشغيل البرنامج، يتم الاتصال بقاعدة البيانات university_system.db وإنشاء الجداول التالية إذا لم تكن موجودة:
students: لتخزين بيانات الطلاب (الاسم، العمر، التخصص).
courses: لتخزين بيانات الدورات (الاسم، الوصف).
enrollments: لتخزين تسجيلات الطلاب في الدورات (الربط بين students و courses).
departments: لتخزين بيانات الأقسام الجامعية.
schedule: لتخزين جدول المحاضرات (اليوم، الوقت، القاعة).
2. الوظائف الخاصة بإدارة الطلاب
إضافة طالب (add_student)
يفتح نافذة جديدة تطلب إدخال:
اسم الطالب
عمر الطالب
تخصص الطالب
اختيار الدورة المسجل فيها من قائمة منسدلة
يتم تخزين البيانات في جدول students ثم يتم تسجيل الطالب في الدورة المختارة في جدول enrollments.
عرض الطلاب (view_students)
يتم جلب جميع الطلاب من قاعدة البيانات وعرضهم في نافذة جديدة.
حذف طالب (delete_student)
يفتح نافذة جديدة لطلب معرف الطالب (ID).
يتم التحقق من وجود الطالب، وإذا كان موجودًا يتم حذفه من students وإزالة تسجيلاته من enrollments.
عرض الدورات المسجلة لطالب معين (show_courses_for_student)
يطلب إدخال ID الطالب.
يبحث في قاعدة البيانات عن جميع الدورات التي سجل فيها الطالب.
إذا لم يكن الطالب مسجلاً في أي دورة، يتم إظهار رسالة مناسبة.
3. الوظائف الخاصة بإدارة الدورات
إضافة دورة (add_course)
يفتح نافذة تطلب إدخال:
اسم الدورة
وصف الدورة
يتم تخزين البيانات في جدول courses.
4. الوظائف الخاصة بإدارة الجدول الزمني للمحاضرات
إضافة جدول (add_schedule)
يفتح نافذة جديدة تطلب:
اختيار الدورة من قائمة منسدلة
اليوم
الوقت
القاعة
يتم تخزين البيانات في جدول schedule.
عرض الجدول (view_schedules)
يجلب جميع بيانات الجدول الدراسي من قاعدة البيانات schedule ويعرضها في نافذة جديدة.
5. تصميم واجهة المستخدم (Tkinter)
تم تقسيم الواجهة إلى إطارات (Frames) لإدارة:
الطلاب (إضافة - عرض - حذف - عرض الدورات الخاصة بهم).
الدورات (إضافة دورة).
الجدول الزمني (إضافة - عرض الجداول الدراسية).
تم تصميم أزرار (Buttons) لتنفيذ كل وظيفة، بحيث يؤدي الضغط على كل زر إلى استدعاء الدالة المرتبطة به.