منصوبے کے بارے میں

BikeBuddy ایک ذاتی رائیڈ-لاگنگ ویب ایپلی کیشن ہے۔ اس کا بیان کردہ مقصد سادہ ہے: آپ کی سواری، آپ کے راستے، آپ کی یادیں۔ سوار کسی بھی رائیڈ، چاہے وہ سائیکلنگ ہو یا موٹر سائیکلنگ، سے ایکسپورٹ کیے گئے GPX ٹریکس اپ لوڈ کرتے ہیں، اور ایپ انہیں نقشے پر راستوں کے طور پر ظاہر کرتی ہے۔ ٹورز کے ساتھ تصاویر منسلک کی جا سکتی ہیں، جس سے خام ٹریک ڈیٹا تصاویر کے ساتھ ایک ریکارڈ میں بدل جاتا ہے۔ ریپوزٹری کیا فراہم کرتی ہے README ایک فرنٹ اینڈ کی وضاحت کرتا ہے جو GitHub Pages سے اسٹیٹک مواد کے طور پر فراہم کیا جاتا ہے، جس کے ساتھ Azure Functions v4 پر ایک سرور لیس بیک اینڈ منسلک ہے۔ ٹیکنالوجی بیجز کے مطابق، ڈیٹا کی بقا (persistence) کے لیے Cosmos DB استعمال ہوتا ہے، اور میڈیا جیسے کہ تصاویر کے Blob Storage میں ہونے کی توقع ہے۔ Node.js 24 یا اس سے نیا ورژن ضروری ہے۔ دستاویزات میں ایک اسکرین شاٹ ٹور سائیڈ بار کے ساتھ رائیڈ راستوں کا میپ ویو دکھاتا ہے۔ نقشے Leaflet کے ذریعے بنائے گئے ہیں، اور ویلیڈیشن Zod کے ذریعے سنبھالی جاتی ہے۔ پورا اسٹیک JavaScript اور TypeScript پر مبنی ہے۔ شروعات کرنا تمام ہیلپر اسکرپٹس ایک ہی انٹری پوائنٹ کے ذریعے چلتے ہیں: شیل اسکرپٹ buddy.sh چلائیں اور اس کے بعد ایک گروپ اور کمانڈ لکھیں۔ ہیلپ فلیگ دستیاب تمام چیزوں کی فہرست دیتا ہے۔ دو دستاویزی کمانڈز عام راستے کو کور کرتی ہیں: ایک ڈویلپمنٹ سیٹ اپ کمانڈ جو ٹولز اور کنفیگریشن ٹیمپلیٹس انسٹال کرتی ہے، اور ایک ڈویلپمنٹ start-all کمانڈ جو localhost پورٹ 4280 پر مکمل مقامی اسٹیک شروع کرتی ہے۔ سیٹ اپ کے لیے Docker کا چلنا ضروری ہے۔ دستاویزات مکمل دستاویزات docs فولڈر میں موجود ہیں، جنہیں Diátaxis فریم ورک کے مطابق ترتیب دیا گیا ہے: - ٹیوٹوریل: شروعات کرنے کے لیے ایک گائیڈ۔ - How-to گائیڈز: ایک صارف گائیڈ اور ایک ڈویلپر گائیڈ جس میں مقامی ڈویلپمنٹ، تصدیق (authentication) اور ٹوکنز، اور تعیناتی (deployment) شامل ہے، پلس ایک علیحدہ انفراسٹرکچر how-to۔ - حوالہ (Reference): آرکیٹیکچر اور کنفیگریشن صفحات۔ - وضاحت (Explanation): ڈیزائن کے فیصلے اور لاگت کی رپورٹ۔ ایک کنٹری بیوٹنگ گائیڈ کنٹری بیوٹر کے طریقہ کار کی دستاویز فراہم کرتی ہے اور README سے اس کا حوالہ دیا گیا ہے۔ انفراسٹرکچر اور ٹولنگ انفراسٹرکچر کو OpenTofu کے ذریعے مینج کیے جانے والے کوڈ کے طور پر بیان کیا گیا ہے، اور پروجیکٹ Azure کو اپنے کلاؤڈ فراہم کنندہ کے طور پر استعمال کرتا ہے۔ اسٹیٹک حصے کی تعیناتی GitHub Pages کے ذریعے ہوتی ہے، جس کے ورک فلو GitHub Actions پر چلتے ہیں۔ README کے بیجز میں نظر آنے والے کوالٹی اور سیکیورٹی ٹولز: - ESLint اور Prettier لنٹنگ اور فارمیٹنگ کے لیے۔ - Vitest یونٹ ٹیسٹ کے لیے، جس کی کوریج Codecov کے ذریعے رپورٹ کی جاتی ہے۔ - ٹیکنالوجی میپ کے مطابق اینڈ-ٹو-اینڈ ٹیسٹ کے لیے Playwright۔ - Stryker میوٹیشن ٹیسٹنگ کے لیے، جس کا پبلک ڈیش بورڈ رپورٹ موجود ہے۔ - اسٹیٹک ایپلی کیشن سیکیورٹی ٹیسٹنگ کے لیے OpenGrep، GitHub Actions کی مضبوطی کے لیے zizmor، اور CodeQL کوڈ اسکیننگ۔ - مقامی چیکس کے لیے pre-commit hooks۔ - ایک گیٹ ورک فلو بیج جو CI کوالٹی گیٹ کی نشاندہی کرتا ہے۔ لائسنسنگ اور پروجیکٹ کی صورتحال پروجیکٹ MIT لائسنس کے تحت جاری کیا گیا ہے۔ README ایک لاسٹ-کمیٹ بیج سے منسلک ہے جو حالیہ سرگرمی کی نشاندہی کرتا ہے، لیکن یہاں ریلیز کی پختگی، دستاویزی ضروریات سے ہٹ کر ہوسٹنگ کی ضروریات، یا کارکردگی کی خصوصیات کے بارے میں کوئی دعویٰ نہیں کیا گیا ہے۔ یہ کس کے لیے موزوں ہو سکتا ہے ایسا شخص جو رائیڈز کا خود سے مینج کیا ہوا ریکارڈ چاہتا ہے، جس میں میپ ویژولائزیشن اور فوٹو اٹیچمنٹ ہو، اور جو Azure-بیکڈ اسٹیک کو تعینات کرنے یا دستاویزی مقامی Docker-بیسڈ ڈویلپمنٹ ماحول چلانے میں مہارت رکھتا ہو۔ ڈویلپرز جو اسٹیٹک فرنٹ اینڈ پلس Azure Functions اور Cosmos DB کی ایک عملی مثال تلاش کر رہے ہیں، جس میں ٹیسٹنگ اور سیکیورٹی ٹول چین وسیع ہو، وہ بھی اس ریپوزٹری کو ایک حوالے کے طور پر مفید پا سکتے ہیں۔