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

ক্লিন আর্কিটেকচার হল ASP.NET Core অ্যাপ্লিকেশন তৈরির জন্য একটি সমাধান টেমপ্লেট, যা আলগাভাবে সংযুক্ত, নির্ভরতা-বিপরীত শৈলী ব্যবহার করে, যা হেক্সাগোনাল, পোর্টস-এন্ড-অ্যাডাপ্টার বা অনিয়ন আর্কিটেকচার নামেও পরিচিত। এটি একটি dotnet CLI টেমপ্লেট হিসেবে বিতরণ করা হয় (NuGet-এ Ardalis.CleanArchitecture.Template) এবং GitHub রিপোজিটরি ক্লোন করেও ব্যবহার করা যেতে পারে। টেমপ্লেটটি দুটি ভেরিয়েন্টে আসে: একটি সম্পূর্ণ ক্লিন আর্কিটেকচার টেমপ্লেট (clean-arch) এবং একটি ন্যূনতম ক্লিন আর্কিটেকচার টেমপ্লেট (min-clean), যাতে দলগুলি শুরুতে তারা কতটা কাঠামো চায় তা বেছে নিতে পারে। README-এ টেমপ্লেট তুলনা এবং কোনটি ব্যবহার করতে হবে তার নির্দেশনা অন্তর্ভুক্ত রয়েছে। সমাধানটি পৃথক প্রকল্পে সংগঠিত: একটি Core প্রকল্প, একটি Use Cases প্রকল্প, একটি Infrastructure প্রকল্প এবং একটি Web প্রকল্প, সাথে টেস্ট প্রকল্প। README প্রতিটির জন্য ডিজাইন সিদ্ধান্ত এবং নির্ভরতা নথিভুক্ত করে, যার মধ্যে বৈধতা কোথায় থাকবে এবং SharedKernel প্যাকেজ কীভাবে ফিট করে। এটি ব্যবহৃত প্যাটার্নগুলিও কভার করে, যেমন ডোমেইন ইভেন্ট। ডিফল্টভাবে টেমপ্লেটটি MVC কন্ট্রোলার বা Razor Pages-এর পরিবর্তে API এন্ডপয়েন্ট ব্যবহার করে। README ব্যাখ্যা করে কিভাবে Ardalis.ApiEndpoints যোগ করতে হয়, কিভাবে কন্ট্রোলার যোগ করতে হয়, এবং কিভাবে Razor Pages যোগ করতে হয় যদি একটি ভিন্ন উপস্থাপনা শৈলী পছন্দ করা হয়। এটি ডেটাবেস মাইগ্রেশন চালানোও কভার করে এবং উল্লেখ করে যে সাইটটি localhost-এর জন্য একটি স্ব-স্বাক্ষরিত ডেভেলপার সার্টিফিকেট সহ HTTPS ব্যবহার করে, এবং Chrome সার্টিফিকেট ত্রুটি রিপোর্ট করলে প্রশমন নির্দেশাবলীর একটি পয়েন্টার সহ। মূল শাখা .NET 9-কে লক্ষ্য করে, যা NuGet প্যাকেজ সংস্করণ 10.x-এর সাথে সামঞ্জস্যপূর্ণ; পূর্ববর্তী সংস্করণগুলি প্রকল্পের রিলিজের মাধ্যমে উপলব্ধ। অফিসিয়াল ডকুমেন্টেশন, যার মধ্যে শুরু করার ধাপ, মাইগ্রেশন গাইড এবং আর্কিটেকচারাল সিদ্ধান্ত রয়েছে, একটি পৃথক ডকুমেন্টেশন সাইটে প্রকাশিত হয়, এবং README পুরানো সংস্করণ থেকে আপগ্রেড করার সময় মাইগ্রেশন গাইড পর্যালোচনা করার পরামর্শ দেয়। README সম্পর্কিত শেখার উপকরণের লিংকও দেয়, যার মধ্যে একটি ক্লিন আর্কিটেকচার কোর্স, একটি DDD ফান্ডামেন্টাল কোর্স যা এই আর্কিটেকচার ব্যবহার করে, লাইভ স্ট্রিম রেকর্ডিং এবং পডকাস্ট আলোচনা। এটি উল্লেখ করে যে প্রকল্পটি Amazon AWS-এর FOSS ফান্ড থেকে স্পনসরশিপ পেয়েছে এবং ব্যবহারকারীদের রিপোজিটরিতে স্টার দিতে বা স্পনসর করতে আমন্ত্রণ জানায়।