منصوبے کے بارے میں
یہ ریپوزٹری Bitwarden کی سرکاری Android ایپلیکیشنز پر مشتمل ہے، جو پاس ورڈ مینیجر اور تصدیق کنندہ (authenticator) کو ایک ہی موبائل کلائنٹ میں یکجا کرتی ہیں۔ یہ پروجیکٹ Android 10 (SDK 29) کو کم از کم اور Android 17 (SDK 37) کو ہدف کے طور پر رکھتا ہے، اور فونز اور ٹیبلٹس دونوں فارم فیکٹرز کو عمودی اور افقی سمتوں میں سپورٹ کرتا ہے۔
کوڈبیس Kotlin میں لکھی گئی ہے اور Jetpack Compose کو اپنے اعلانیہ UI فریم ورک کے طور پر استعمال کرتی ہے، ساتھ ہی AndroidX لائبریریوں کا ایک وسیع سیٹ بھی شامل ہے جیسے Activity، Appcompat، Autofill، Biometrics، Browser، Camera، Core، Credentials، Lifecycle، Navigation، Room، Security، اور WorkManager۔ ڈیپینڈنسی انجیکشن Dagger Hilt کے ذریعے، تصویری لوڈنگ Glide کے ذریعے، اور نیٹ ورکنگ Retrofit 2 اور OkHttp 3 کے ذریعے کی جاتی ہے۔ Kotlin coroutines، immutable collections، اور serialization لائبریریاں غیر متزامن اور رد عمل والے کوڈ کو سپورٹ کرتی ہیں، جبکہ Timber لاگنگ فراہم کرتا ہے اور ZXing تصدیق کنندہ کوڈز کے لیے بارکوڈ اسکیننگ سنبھالتا ہے۔
ایپ دو بلڈ ورژنز میں آتی ہے۔ معیاری بلڈز میں Firebase Cloud Messaging برائے پش نوٹیفیکیشنز، Firebase Crashlytics برائے کریش رپورٹنگ، اور Google Play Reviews انٹیگریشن شامل ہیں۔ F-Droid بلڈز ان Google پر منحصر اجزاء کو خارج کرتی ہیں، جس سے ایپ ملکیتی خدمات سے پاک رہتی ہے۔
ترقی کے لیے JDK 21 اور Android Studio درکار ہے، ساتھ ہی پروجیکٹ مخصوص کوڈ اسٹائل اسکیم (bitwarden-style.xml) بھی ہے جسے شراکت دار اپنے IDE میں درآمد کرتے ہیں۔ GitHub Packages سے ڈیپینڈنسیز حاصل کرنے کے لیے read:packages اسکوپ والا GitHub Personal Access Token ضروری ہے، اور localSdk فلیگ SDK فیچرز پر کام کرنے والے شراکت داروں کے لیے SDK کو مقامی Maven artifactory کی طرف موڑ سکتا ہے۔ کوڈ کے معیار کو detekt جامد تجزیہ کے ذریعے نافذ کیا جاتا ہے، جس میں ایک اختیاری pre-commit ہک بھی شامل ہے جو ہر کمٹ سے پہلے detekt چلاتا ہے۔ جانچ JUnit 5، MockK، Robolectric، اور Turbine پر انحصار کرتی ہے جو coroutine Flow ٹیسٹس کے لیے ہے۔ CI/CD میں Fastlane کا استعمال ایپ بنانے، دستخط کرنے اور تقسیم کرنے کے لیے، اور Kover کا استعمال Kotlin کوڈ کوریج کے لیے ہوتا ہے۔
README ایک واضح شراکت کے ورک فلو کی بھی دستاویز کرتا ہے: فارمیٹنگ تبدیلیوں کو منطقی تبدیلیوں سے الگ رکھیں، پل ریکویسٹ جمع کرانے سے پہلے کوڈ فارمیٹ کریں، اور پروجیکٹ کے اسٹائل اور بہترین طریقوں کی دستاویزات پر عمل کریں۔ مجموعی طور پر، یہ ایک پختہ، اچھی ساختہ اوپن سورس Android کلائنٹ ہے جو وسیع پیمانے پر استعمال ہونے والی پاس ورڈ مینجمنٹ اور دو عنصری تصدیق کی سروس کے لیے ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.