اذهب إلى المحتوى

السؤال

نشر

مرحبا

أعمل على مشروع التخرج حاليا و كان المطلوب مني إنشاء خوارزمية البرنامج و المخططات التدفقية له ثم إنشاء تطبيق يتعامل مع قاعدة بيانات تحمل جدول طلاب و جدول حصص أو دروس يمكن للطلاب الإشتراك بها.

لدي تساؤل كبير عن كيف أستطيع بناء واجهة موقع بسيطة لأخذ المدخلات من المستخدم و إظهار المخرجات المطلوبة له من ملاحظات أو أخطاء أو نتائج فنحن لم نتعلم الHTML و الCSS، قمنا ببناء مواقع ببعض الشفرات الجاهزة أو كان المدرب أو كانت المدربة تقوم بالنسخ و اللصق و المرور السريع على الأسطر البرمجية و قد تم إرفاق شفرة مصدرية من أجل تلك المشاريع.

أريد أيضا أن ترشدوني إلى مصدر مناسب يساعدني في إستخدام بايثون أو جافا سكريبت في التعامل مع إستعلامات SQL، أتذكر أننا قمنا بشيء كذلك في الدورة و أنا أحاول البحث عن تلك الجزئية من أجل مراجعتها و الإعتماد عليها في بناء الشفرة المسؤولة عن التعامل مع البيانات.

أرجو إخباري إن أردتم أن أرفق وصف المشروع.

Recommended Posts

  • 0
نشر

الأمر بسيط لا تقلق، انت بحاجة فقط إلى دراسة أساسيات HTML و CSS و جافاسكريبت، وذلك متاح في المسار الأول من دورة تطوير واجهات المستخدم، فالمسار الأول من جميع الدورات متاح لك بشكل مجاني، وأهم نقطة هو عنصر النموذج form فمن خلاله نقوم بتضمين الحقول لملء البيانات من قبل المستخدم ثم إرسالها ومعالجتها من قبل جافاسكريبت.

وفي دورة علوم الحاسوب تم شرح التعامل مع قواعد البيانات بواسطة Node.js في مسار قواعد البيانات حيث استخدمنا SQLite.

ويمكنك تعلم أساسيات بايثون في المسار الأول لدورة بايثون ونفس الأمر بالنسبة لدورة جافاسكريبت.

ما هي قاعدة البيانات التي ستستخدمها لمساعدتك، في حال كان المشروع بسيط استخدم SQLite كما تم التوضيح بالدورة.

 

  • 0
نشر (معدل)

@Mustafa Suleiman

إذن سيكون علي تعلم أساسية HTML و CSS لبناء الواجهة البسيطة التي أحتاجها، حسنا إذن سأبذل جهدي.

أعتقد أنك أسأت فهمي بشأن جافاسكريبت و بايثون فأنا أجيد هاتين اللغتين فقد تعلمناهما خلال الدورة التي درستها و هي دورة علوم الحاسوب و أنا الآن علي تقديم المشروع و لدي 15 يوما لتقديمها و قد مضت بضعت أيام بالفعل.

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

تم التعديل في بواسطة kayo
  • 0
نشر
بتاريخ 57 دقائق مضت قال kayo:

أحاول إيجاد ذلك الدرس الذي قمنا فيه بذلك ربما ترشدني لمكانه

توجد سلسلة دروس ضمن الدورة لربط Node.js مع SQLite، أليس هذا ما تبحث عنه؟

بتاريخ 57 دقائق مضت قال kayo:

أيضا كنت أسأل عن مصدر آخر يساعدني في ذلك

يمكنك دائما إيجاد مقالات مجانية على أكاديمية حسوب تتناول هذه الأمور. لكن قاعدة SQLite مستخدمة أكثر مع Python وليس في بيئة Node.js، لذلك إذا بحثت عن SQLite في مقالات الأكاديمية فستجد أنها تتحدث عن أطر العمل الخاصة بـPython والتي أبرزها Flask و Django. بينما مبرمجو Node.js غالبا ما يستخدمون MongoDB كما تم تدريسه في قسم التعامل مع قواعد البيانات غير العلاقية NoSQL.

إليك بعض المقالات التي يمكن أن تفيدك:

 

  • 0
نشر

@حمزة عباد

 

أعتقد أني أخطأت فهم كل شيء، دعني أحاول شرح ما أحاول القيام به لعلك تساعدني و تخبرني كيف أقوم به لأني حتى اللحظة لا أدري ما هي الأدوات التي علي إستخدامها أو لغة البرمجة:

أولا لقد درست دورة علوم الحاسوب تحديدا و ليس دورة تصميم الواجهات أو غيرها من الدورات، هذا يعني أنني تعلمت الكثير من المواضيع لكن دون تعمق، سواء صفحات الويب، لغتي البرمجة بايثون و جافا سكريب و هذا يعني أن قدراتي متواضعة تمام في التعامل مع الأمر.

التالي هو وصف المشروع الذي حصلت عليه:

__________________________________________________________

مشروع مدرسة
المطلوب إنشاء نظام لإحدى المدارس، وربطه مع قاعدة بيانات. يجب أن تحتوي قاعدة البيانات على جدولين وهما students و lessons.
عند تشغيل البرنامج يجب أن تظهر قائمة على الشكل التالي:
الرجاء اختيار العملية التي تريد إجرائها:
* لإضافة طالب إضغط على حرف a
* لحذف طالب إضغط على حرف d
* لتعديل معلومات طالب إضغط على حرف u
* لعرض معلومات طالب إضغط على حرف s
- لو اختار المستخدم الحرف a لإضافة طالب، يجب أن نأخذ معلومات الطالب من المستخدم (رقم الطالب، الاسم، الكنية، العمر، الصف، تاريخ التسجيل) ونضيفها لجدول students في قاعدة البيانات، أيضًا يجب أن نأخذ الدروس المشترك فيها الطالب ونضيفها لجدول lessons، ونُظهر رسالة للمستخدم بنجاح العملية.
- لو اختار المستخدم الحرف d لحذف طالب، يجب أن نأخذ معلومات الطالب التي نريد حذفه من قاعدة البيانات، نأخذ (رقم الطالب) ونتحقق إن كان موجود في قاعدة البيانات نحذفه ونُظهر رسالة للمستخدم بنجاح العملية.
- لو اختار المستخدم الحرف u لتعديل معلومات طالب، يجب أن نأخذ معلومات الطالب التي نريد تعديل معلوماته في قاعدة البيانات من المستخدم، نأخذ (رقم الطالب) ونتحقق إن كان موجود في قاعدة البيانات نعدل معلوماته ونُظهر رسالة للمستخدم بنجاح العملية.
- لو اختار المستخدم الحرف s لعرض معلومات الطالب، يجب أن نأخذ معلومات الطالب التي نريد عرض معلوماته من المستخدم، نأخذ (رقم الطالب) ونتحقق إن كان موجود في قاعدة البيانات نجلب معلوماته (رقم الطالب، الاسم، الكنية، العمر، الصف، تاريخ التسجيل، والدروس المشترك فيها) ونعرضها للمستخدم.
- ملاحظة: الطالب يستطيع أن يسجل في أكثر من درس وليس في درس واحد - كذلك الدرس الواحد يستطيع أن يسجل فيه أكثر من طالب (علاقة متعدد لمتعدد)

معلومات مساعدة:
- قبل تنفيذ المشروع يجب وضع الخطة التي ستتبعها لإنشاء المشروع، كإنشاء الخوارزمية Algorithm ومخطط التدفق Flow charts والكود الزائف Pseudo code
- يجب إرسال المخطط الذي اتبعته لإنشاء المشروع بملف منفصل من نوع pdf
- يمكن اختيار لغة البرمجة المناسبة لتنفيذ المشروع
- مدة تنفيذ المشروع 15 يومًا

__________________________________________________________

حسنا إذن بالطبع سوف أنشأ قاعدة بيانات على  برنامج SQLite و أنشأ جدولين أحدهما للطلاب و الآخر للدروس و أملأ كلاهما ببعض البيانات لدروس و طلاب و هذه البيانات يمكن إستخدامها في تجريب التطبيق.

تاليا كنت أفكر في بناء واجهة غاية في البساطة من أجل المدخلات الخاصة بالمستخدم و من المفترض أن يكون أول شيء يظهر  عند فتح الموقع هو حقل إدخال لإدخال الحرف المطلوب، الواجهة التالية بعد إدخال الحرف تكون على حسب الحرف المدخل كخانات إدخال المعلومات في حال أراد المستخدم إضافة طالب جديد أو خانة إدخال رقم الطالب إذا أراد المستخدم تعديل معلومات طالب و في حال قام المستخدم مثلا بإدخال حرف لا علاقات له بالأحرف المتاحة "A, D, U, S" أي إذا قام بإدخال حرف N مثلا تظهر له رسالة خطأ من قبيل "الحرف الذي أدخلته غير صحيح" أو "الحرف الذي أدخلته لا ينفذ أي إجراء" و يكون ذلك بالتأكد من ما إذا كان الحرف المدخل يساوي أحد الأحرف المتاحة لإتخاذ إجراء بالتحقق من مطابقة الحرف المدخل لتلك الأحرف واحدا تلو الآخر و إن لم يطابق أحدها الحرف المدخل تظهر رسالة للمستخدم بدل إتخاذ إجراء، في الخلف سيكون هناك كود برمجي ينفذ مجموعتا من الأكواد البرمجية التي تقوم بما يجب بناءا على الحرف المدخل و فيها يتم تنفيذ تعليمات SQLite المطلوبة لجلب، حذف، تعديل البيانات و أعتقد أن هناك دوال في بايثون تسمح بالتعامل مع إستعلامات SQL و التواصل مع قاعدة البيانات، لست أدري كيف أفعل ذلك أو كيف أنشأ الموقع مع تلك السلوكيات من إظهار لحقول إدخال و عرض نتائج و تنبيهات و أخطاء مثل تنبيه المستخدم لعدم إدخال رقم طالب مكرر و إظهار خطأ في حال إدخار رقم مكرر لأن هذا الرقم سيكون هو المفتاح الأولي في قاعدة البيانات و لست أدري كيف أستطيع جلب البيانات و أخذ مدخلات المستخدم لإتخاذ الإجرءات المناسبة على صفحة الويب هذه.

ربما أخطأت في الفكرة التي أريد إنشاء المشروع بها، أنا لا أدري صراحتا كيف أفعل ذلك بالضبط، أخبرني كيف أقوم بتنفيذ الفكرة السابقة؟ بأي لغة؟ لم أكن أفكر أبدا في إستخدام Node.js.

كيف يتوقع المدرب الذي كلفني بالمشروع أن تبدو أو تكون الواجهة التي سيتعامل معها و أين كان يتوقع أن يقوم بإدخال المدخلات المطلوبة، هل كان يتوقع مني برنامجا يتعامل معه من خلال الشفرة بحيث يتعامل مع البرنامج من خلال المحرر و يستدعي الدوال المسؤولة عن القيام بالإجراء المطلوب كدالة إجراء تستدعى و يمرر لها الحرف المطلوب؟ هل يتوقع النتائج أن تظهر في شاشة محرر الكود أم الكونسول في الويب؟ أم يتوقع مني إنشاء واجهة موقع بسيطة من أجل المدخلات و المخرجات؟

@حمزة عباد

أتذكر أننا إستخدمنا أسطر برمجية  في الكورس من قبيل:

import sqlite3
sqlite3.connect()
.close()

لكنني لا أستطيع إيجاد أين بالضبط في الدورة تعاملنا مع مثل هذه الأكواد في بايثون، أحاول البحث عن ذلك الدرس أو تلك الدروس لكني لم أستطع إيجادها.

  • 0
نشر
بتاريخ 4 دقائق مضت قال kayo:

كيف يتوقع المدرب الذي كلفني بالمشروع أن تبدو أو تكون الواجهة التي سيتعامل معها و أين كان يتوقع أن يقوم بإدخال المدخلات المطلوبة، هل كان يتوقع مني برنامجا يتعامل معه من خلال الشفرة بحيث يتعامل مع البرنامج من خلال المحرر و يستدعي الدوال المسؤولة عن القيام بالإجراء المطلوب كدالة إجراء تستدعى و يمرر لها الحرف المطلوب؟ هل يتوقع النتائج أن تظهر في شاشة محرر الكود أم الكونسول في الويب؟ أم يتوقع مني إنشاء واجهة موقع بسيطة من أجل المدخلات و المخرجات؟

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

وبما أنّك قد أنشأت قاعدة البيانات على SQLite، فالخيار الطبيعي لإنشاء البرنامج هو Python. ولن تحتاج إلى Node.js ولا أي كود JavaScript خلال هذا العمل. حتى النتائج سوف تعرضها على الكونسول.

 

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...