تفاصيل العمل

هذا المشروع عبارة عن نظام متكامل لتتبّع الرحلات الجوية في الزمن الحقيقي، يعتمد على تقنيات حديثة في بثّ البيانات (Streaming)، معالجتها، تخزينها، وعرضها على واجهة تفاعلية. يهدف النظام إلى محاكاة حركة الطائرات وتحديث حالتها بشكل لحظي مع توفير Dashboard سهلة الاستخدام.

نوع العمل:

بناء نظام Real-Time Data Pipeline كامل من مرحلة إنتاج البيانات إلى مرحلة العرض.

تصميم بنية بيانات (Architecture) حديثة تعتمد على Kafka وSpark.

محاكاة بيانات رحلات حقيقية باستخدام Python.

معالجة واستخراج معلومات الرحلات لحظيًا باستخدام Spark Structured Streaming.

تخزين البيانات المنظمة في قاعدة PostgreSQL.

تصميم واجهة تفاعلية Dashboard لعرض موقع الرحلات وحالتها باستخدام Streamlit.

تشغيل النظام بالكامل داخل Docker لسهولة النشر وإعادة التشغيل.

مميزات المشروع:

1. بثّ بيانات لحظي (Real-Time Streaming)

يتم إرسال الرحلات وتحديثاتها بشكل مباشر كل ثانية عبر Apache Kafka، مما يجعل النظام مناسبًا لأي سيناريو يحتاج بيانات مستمرة.

2. معالجة ذكية باستخدام Spark

Spark Structured Streaming يعالج البيانات فور وصولها، ويقوم:

بقراءة رسائل Kafka

تحليل معلومات الرحلة

إضافة حالات (On-Time / Delayed / Cancelled)

ثم حفظها في قاعدة البيانات

3. قاعدة بيانات موثوقة

PostgreSQL تُستخدم لتخزين كل رحلة مع توقيتها، موقعها، سرعتها، وحالتها، مما يسمح بعمليات تحليل لاحقة.

4. واجهة تفاعلية لعرض الرحلات

لوحة Streamlit تعرض:

خريطة مباشرة لمواقع الطائرات

حالة كل رحلة

تحديثات فورية دون إعادة تحميل الصفحة

5. نظام قابل للتوسعة

يمكن إضافة ميزات مثل:

تنبيهات (Alerts)

تتبّع حسب خطوط الطيران

ربط ببيانات حقيقية (APIs)

Dashboard احترافية بمستوى الشركات

6. يعمل بالكامل عبر Docker

كل الخدمات تعمل داخل Docker Compose، مما يضمن:

سهولة التشغيل

ضمان أن كل شيء يعمل بدون مشاكل Dependencies

نشر سريع على أي سيرفر

طريقة تنفيذ المشروع

توليد البيانات:

يتم إنشاء بيانات رحلات باستخدام Python + Faker، تشمل الطائرة، الوجهة، الارتفاع، السرعة، الموقع…

إرسال البيانات:

Producer يرسل البيانات إلى Topic في Kafka.

المعالجة اللحظية:

Spark Streaming يقرأ الرسائل أولاً بأول ويحوّلها لبيانات جاهزة للتخزين.

التخزين:

Spark يكتب البيانات مباشرة في PostgreSQL داخل جدول منظم.

لوحة العرض:

Streamlit تقرأ من قاعدة البيانات وتعرض الرحلات على خريطة مع آخر التحديثات.

التشغيل:

النظام بالكامل يتم تشغيله بـ:

docker-compose up

ملفات مرفقة

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
6
تاريخ الإضافة
تاريخ الإنجاز
المهارات