عن المشروع

BikeBuddy هو تطبيق ويب شخصي لتسجيل الرحلات. غرضه المعلن بسيط: رحلتك، مساراتك، وذكرياتك. يقوم الدراجون بتحميل مسارات GPX المصدرة من أي رحلة، سواء كانت بالدراجة الهوائية أو النارية، ويقوم التطبيق بعرضها كمسارات على الخريطة. يمكن إرفاق الصور بالجولات، مما يحول بيانات المسار الخام إلى سجل مدعوم بالصور. ما يوفره المستودع يصف ملف README واجهة أمامية يتم تقديمها كمحتوى ثابت من GitHub Pages، مقترنة بخلفية بدون خادم (serverless) على Azure Functions v4. يستخدم التخزين الدائم Cosmos DB، ومن المتوقع أن تعيش الوسائط مثل الصور في Blob Storage، بناءً على شارات التكنولوجيا المعروضة. يتطلب التطبيق Node.js 24 أو إصداراً أحدث. وتظهر لقطة شاشة في الوثائق عرض خريطة مع مسارات الرحلة إلى جانب شريط جانبي للجولة. يتم رسم الخرائط باستخدام Leaflet، ويتم التعامل مع التحقق من الصحة باستخدام Zod. وتعتمد البنية التقنية على JavaScript وTypeScript في جميع أجزائها. البدء تعمل جميع النصوص البرمجية المساعدة من خلال نقطة دخول واحدة: قم بتشغيل نص shell المسمى buddy.sh متبوعاً بمجموعة وأمر. تسرد علامة المساعدة (help flag) كل ما هو متاح. يغطي أمران موثقان المسار الشائع: أمر إعداد التطوير الذي يثبت الأدوات وقوالب التكوين، وأمر start-all للتطوير الذي يشغل الحزمة المحلية الكاملة على المنفذ 4280 في localhost. يجب أن يكون Docker قيد التشغيل لإتمام الإعداد. التوثيق توجد الوثائق الكاملة في مجلد docs، ومنظمة وفقاً لإطار عمل Diátaxis: - Tutorial: جولة إرشادية للبدء. - How-to guides: دليل المستخدم ودليل المطور الذي يغطي التطوير المحلي، والمصادقة والرموز (tokens)، والنشر، بالإضافة إلى دليل منفصل للبنية التحتية. - Reference: صفحات الهندسة المعمارية والتكوين. - Explanation: قرارات التصميم وتقرير التكلفة. يوثق دليل المساهمة اتفاقيات المساهمين ويتم الإشارة إليه من ملف README. البنية التحتية والأدوات توصَف البنية التحتية ككود يتم إدارته بواسطة OpenTofu، ويستهدف المشروع Azure كمزود للسحابة. يتم النشر للجزء الثابت عبر GitHub Pages، مع سير عمل يعمل على GitHub Actions. أدوات الجودة والأمان المرئية في شارات README: - ESLint وPrettier للتدقيق والتنسيق. - Vitest لاختبارات الوحدة، مع تقارير التغطية عبر Codecov. - Playwright للاختبارات الشاملة (end-to-end)، وفقاً لخريطة التكنولوجيا. - Stryker لاختبار الطفرات (mutation testing)، مع تقرير لوحة معلومات عامة. - OpenGrep لاختبار أمان التطبيقات الثابت، وzizmor لتحصين GitHub Actions، ومسح الكود باستخدام CodeQL. - خطافات pre-commit للفحوصات المحلية. - شارة سير عمل البوابة التي تشير إلى بوابة جودة CI. الترخيص وحالة المشروع تم إصدار المشروع بموجب رخصة MIT. يربط ملف README بشارة آخر التزام (last-commit) تشير إلى نشاط حديث، ولكن لا توجد ادعاءات هنا بشأن نضج الإصدار، أو متطلبات الاستضافة بخلاف تلك الموثقة، أو خصائص الأداء. لمن قد يكون مناسباً لشخص يريد سجلاً مداراً ذاتياً للرحلات، مع تصور الخرائط وإرفاق الصور، ويكون مرتاحاً في نشر حزمة مدعومة بـ Azure أو تشغيل بيئة التطوير المحلية الموثقة القائمة على Docker. قد يجد المطورون الذين يبحثون عن مثال عملي لواجهة أمامية ثابتة بالإضافة إلى Azure Functions وCosmos DB، مع سلسلة أدوات اختبار وأمان واسعة، أن المستودع مفيد كمرجع.