প্রকল্প সম্পর্কে

Android Architecture Samples হলো Google-এর রক্ষণাবেক্ষণে থাকা নমুনা Android অ্যাপ্লিকেশনগুলোর একটি সংগ্রহ যা বিভিন্ন আর্কিটেকচারাল পদ্ধতি প্রদর্শন করে। রিপোজিটরির প্রতিটি ব্রাঞ্চে ছোট ছোট পরিবর্তনসহ একই TODO অ্যাপ বাস্তবায়ন করা হয়েছে, যা প্যাটার্নগুলো পাশাপাশি তুলনা করা সহজ করে তোলে। বর্তমান ব্রাঞ্চ একটি আধুনিক সেটআপ দেখায়: - Jetpack Compose দিয়ে তৈরি ইউজার ইন্টারফেস। - Navigation Compose ব্যবহার করে সিঙ্গেল-অ্যাক্টিভিটি আর্কিটেকচার। - একটি উপস্থাপনা স্তর রয়েছে যার মধ্যে একটি Compose স্ক্রিন (View) এবং প্রতিটি স্ক্রিন বা ফিচারের জন্য একটি ViewModel অন্তর্ভুক্ত। - অ্যাসিঙ্ক্রোনাস কাজের জন্য Flow এবং Kotlin coroutines ব্যবহার করে রিঅ্যাক্টিভ UI। - একটি ডেটা স্তর রয়েছে যার মধ্যে একটি রিপোজিটরি এবং দুটি ডেটা সোর্স অন্তর্ভুক্ত: একটি লোকাল Room ডেটাবেস এবং একটি ফেক রিমোট সোর্স। - দুটি প্রোডাক্ট ফ্লেভার, mock এবং prod, যা ডেভেলপমেন্ট এবং টেস্টিং সহজ করার উদ্দেশ্যে রাখা হয়েছে। - ইউনিট, ইন্টিগ্রেশন এবং এন্ড-টু-এন্ড টেস্টের একটি সংগ্রহ, যার মধ্যে শেয়ার্ড টেস্টও রয়েছে যা এমুলেটর বা ডিভাইসে চালানো যায়। - Hilt ব্যবহার করে ডিপেন্ডেন্সি ইনজেকশন। প্রজেক্টটি ইচ্ছাকৃতভাবে একটি টু-ডু অ্যাপ ব্যবহার করে কারণ এটি দ্রুত বোঝার জন্য যথেষ্ট সরল অথচ কঠিন ডিজাইন সিদ্ধান্ত এবং টেস্টিং পরিস্থিতি চিত্রিত করার জন্য যথেষ্ট জটিল। README স্পষ্টভাবে উল্লেখ করে যে প্রজেক্টটি কী নয়: এটি কোনো টেমপ্লেট নয় (এর পরিবর্তে Architecture Templates রিপোজিটরি প্রস্তাব করা হয়েছে), এটি কোনো UI বা Material Design স্যাম্পল নয় (এর পরিবর্তে Compose Samples প্রস্তাব করা হয়েছে), এবং এটি নেটওয়ার্কিং বা অথেনটিকেশনসহ কোনো প্রোডাকশন অ্যাপ নয় (এর পরিবর্তে Now in Android প্রস্তাব করা হয়েছে)। এটি মধ্যম পর্যায়ের ডেভেলপার এবং নতুনদের লক্ষ্য করে যারা পরীক্ষাযোগ্য এবং রক্ষণাবেক্ষণযোগ্য অ্যাপ স্ট্রাকচার চায়, পাশাপাশি দ্রুত রেফারেন্স খোঁজা উন্নত ডেভেলপারদের জন্যও। একটি স্যাম্পল ব্যবহার করতে, রিপোজিটরি ক্লোন করুন, একটি স্যাম্পল ব্রাঞ্চ চেক আউট করুন এবং Android Studio-তে রুট ডিরেক্টরি খুলুন। কোডটি Apache 2.0 লাইসেন্সের অধীনে রয়েছে, কপিরাইট Google।