بنيت هذا المشروع من الصفر، وكان تحدياً حقيقياً بكل معنى الكلمة —
لأنه لم يكن مجرد موقع ويب أو API بسيط، بل منظومة متكاملة تبدأ
من جهاز صغير مثبّت في الغرفة وتنتهي بلوحة تحكم ذكية تعمل على
أي متصفح في العالم.
فكرة المشروع :
المشروع عبارة عن منصة لمراقبة أجهزة استشعار الغاز بشكل فوري
ومستمر. الأجهزة (ESP32) تقرأ قيم الغاز وترسلها عبر Raspberry Pi
إلى قاعدة البيانات، وفي نفس اللحظة تظهر القراءات على لوحة تحكم
ويب أنيقة. والأجمل من ذلك، إنك تقدر تسأل النظام بالعربي أو
الإنجليزي عن أي قراءة أو تحليل، ويجاوبك الذكاء الاصطناعي مباشرة.
التقنيات المستخدمة :
• الواجهة الأمامية — HTML + JavaScript مخصص، بدون frameworks
ثقيلة — سريع ونظيف
• الـ Backend — Node.js + Express مكتوب بـ TypeScript
• قاعدة البيانات — NocoDB
• الأتمتة والـ AI — n8n مع تكامل OpenAI/Nvidia
• الهاردوير — ESP32 + Raspberry Pi (Python)
• الـ Firmware — كود C++ على ESP32
• النشر والتوزيع — Docker Compose كامل
• الشبكة الآمنة — Tailscale VPN
• سكريبتات — Shell scripts للعمليات والأمان
ليش هذا المشروع مختلف؟ :
أول شيء يميّزه إنه مش مجرد كود على الكمبيوتر — هو شيء حقيقي
موصول بأجهزة فعلية. كتبت الـ firmware بـ C++ على ESP32، وبرمجت
الـ Raspberry Pi بـ Python تجمع البيانات وترسلها، وبنيت الـ API
بـ TypeScript، وصممت الواجهة يدوياً. كل طبقة تواصلت معها وبنيتها
بنفسي — ما اعتمدت على حل جاهز.
الشيء الثاني اللي أفتخر فيه هو الذكاء الاصطناعي المدمج. مش بس
عرض للبيانات، بل في شات بوت ذكي يفهم أسئلتك عن القراءات ويجاوبك
بشكل طبيعي، ويقدر يرسم لك charts ويحلل البيانات تلقائياً — كل
هذا عبر n8n workflow مرتبط بموديلات الذكاء الاصطناعي.
الجانب الأمني كان أولوية من اليوم الأول. عملت نظام مصادقة متعدد
الطبقات: API tokens، ingest tokens منفصلة للأجهزة، rate limiting،
وحتى ملف audit أمني كامل داخل المشروع. ما في أي سر مكتوب بالكود
— كل شيء في environment variables، وعندي سكريبت preflight يتحقق
من كل شيء قبل ما تشغّل المشروع على الـ production.
للنشر، كل الـ stack يشتغل بأمر واحد عبر Docker Compose. صممت
الملفات بعناية: dockerfile منفصل للـ app وآخر للـ API، healthcheck
endpoints، وقائمة تحقق كاملة قبل النشر. المشروع يشتغل من الصفر
خلال أقل من 10 دقائق على أي سيرفر Linux.
بدل ما أفتح المشروع على الإنترنت العام، استخدمت Tailscale VPN —
يعني الوصول آمن وخاص تماماً، مناسب للبيئات الصناعية أو المنزلية
اللي ما تحتاج تكشف خدماتها للعالم.
وأخيراً، الكود والـ documentation مكتوبة بعناية — README واضح
فيه quick start، شرح كامل للـ API مع أمثلة curl، دليل
troubleshooting، وكل الـ workflows محفوظة بالـ repo عشان تقدر
ترجع لأي نسخة سابقة.