প্রকল্প সম্পর্কে
এই রিপোজিটরিটি স্টার্টআপে প্রোডাকশন অভিজ্ঞতার ভিত্তিতে তৈরি FastAPI সেরা অনুশীলন ও কনভেনশনের একটি সংকলিত তালিকা। এটি কোনো লাইব্রেরি বা ফ্রেমওয়ার্ক নয়, বরং কোড উদাহরণ ও আর্কিটেকচারাল নির্দেশনা সহ একটি ডকুমেন্টেশন রিসোর্স।
মূল বিষয়গুলির মধ্যে রয়েছে:
- প্রজেক্ট কাঠামো: Netflix-এর Dispatch দ্বারা অনুপ্রাণিত একটি ডোমেইন-ভিত্তিক লেআউট, যেখানে প্রতিটি মডিউলের নিজস্ব রাউটার, স্কিমা, মডেল, সার্ভিস, ডিপেন্ডেন্সি, কনস্ট্যান্ট, কনফিগ, ইউটিলস এবং এক্সেপশন থাকে।
- অ্যাসিঙ্ক রুট: I/O-ইনটেনসিভ এবং CPU-ইনটেনসিভ কাজ পরিচালনার নির্দেশনা, FastAPI কীভাবে সিঙ্ক রুট থ্রেডপুলে চালায় এবং অ্যাসিঙ্ক রুটে ব্লকিং অপারেশন কেন ইভেন্ট লুপ আটকে দিতে পারে তা ব্যাখ্যা করা হয়েছে।
- Pydantic ব্যবহার: ভ্যালিডেশনের জন্য Pydantic-এর ব্যাপক ব্যবহার, সামঞ্জস্যপূর্ণ ডেটটাইম সিরিয়ালাইজেশনের জন্য একটি কাস্টম গ্লোবাল বেস মডেল তৈরি এবং মডিউল জুড়ে BaseSettings ভাগ করা।
- ডিপেন্ডেন্সি: ইনজেকশনের বাইরেও রিকোয়েস্ট ভ্যালিডেশনের জন্য FastAPI ডিপেন্ডেন্সি ব্যবহার, ডিপেন্ডেন্সি চেইন করা, রিকোয়েস্ট-স্কোপড ক্যাশিং ব্যবহার করা এবং অ্যাসিঙ্ক ডিপেন্ডেন্সি পছন্দ করা।
- বিবিধ অনুশীলন: REST কনভেনশন অনুসরণ, FastAPI রেসপন্স সিরিয়ালাইজেশন আচরণ বোঝা, থ্রেড পুলে সিঙ্ক SDK চালানো, BackgroundTasks এবং প্রকৃত টাস্ক কিউ-এর মধ্যে নির্বাচন, ValueError থেকে ValidationError রূপান্তর পরিচালনা, ডিফল্টভাবে ডক্স লুকানো, ডেটাবেস নেমিং কনভেনশন নির্ধারণ, Alembic মাইগ্রেশন ব্যবহার এবং ruff গ্রহণ।
রিপোজিটরিতে একটি AGENTS.md ফাইলও রয়েছে যেখানে AI এজেন্টদের জন্য মেশিন-পঠনযোগ্য ফরম্যাটে একই নিয়ম রয়েছে, যার মধ্যে একটি ভার্সন ম্যাট্রিক্স, Do/Don't ব্লক এবং একটি অ্যান্টি-প্যাটার্ন চেকলিস্ট রয়েছে। README-এর একটি সরলীকৃত চীনা অনুবাদও উপলব্ধ।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.