جرافيكا هي أداة تفاعلية لحل مشاكل البحث في الرسوم البيانية، حيث تتيح للمستخدم بناء خرائط طريق افتراضية يمكن تشبيهها بمدن مترابطة عبر طرق ومسارات متعددة. من خلال الأداة، يمكن تحديد نقطة بداية ونقطة وصول، ثم استخدام خوارزميات الذكاء الاصطناعي مثل BFS, DFS, UCS, Greedy، وA* لاكتشاف أفضل طريق للوصول بين "المدن" عبر هذه الشبكة.
كيف قمت ببنائها:
- استخدمت Vue.js لبناء واجهة مستخدم تفاعلية وسهلة، تمكّن المستخدم من إضافة "مدن" جديدة (تمثل النقاط أو المحطات في الرسم البياني) وإنشاء "طرق" (المسارات أو الروابط) بينها.
- استعنت بـ HTML وCSS لتصميم واجهة متجاوبة وجذابة بصريًا.
- في الجانب الخلفي، استخدمت Python مع إطار العمل Flask لتنفيذ الخوارزميات ومعالجة الطلبات.
- اعتمدت على مكتبة Vis.js لعرض الرسم البياني بشكل ديناميكي وتفاعلي، بحيث تظهر المدن والطرق بشكل واضح يمكن تتبعه خطوة بخطوة أثناء البحث.
- تم الربط بين الواجهة الأمامية والخلفية عبر RESTful APIs.
- وظّفت JavaScript لإدارة التفاعل اللحظي مع البيانات وتحديث الواجهة بناءً على خطوات المستخدم.
هذه التقنيات مجتمعة مكّنتني من تطوير أداة ذكية وسهلة، تتيح للمستخدم تجربة البحث عن المسارات وكأنه يستكشف شبكة طرق ووسائل تنقّل بين مدن افتراضية.