প্রকল্প সম্পর্কে
এই সংগ্রহস্থলটি একটি প্রোডাকশন-আকৃতির TypeScript ব্যাকএন্ড বয়েলারপ্লেট প্রদান করে যা অবকাঠামো সেটআপ পরিচালনা করে এবং স্থাপত্যগত শৃঙ্খলা প্রয়োগ করে, যার ফলে বিকাশকে ত্বরান্বিত করে। Fastify, Awilix, Prisma, এবং BullMQ এর উপর নির্মিত, এটি কোডকে কঠোর ক্লিন আর্কিটেকচার লেয়ারে (ডোমেইন, অ্যাপ্লিকেশন, ইনফ্রাস্ট্রাকচার, প্রেজেন্টেশন, কম্পোজিশন রুট) সংগঠিত করে, যেখানে নির্ভরতাগুলি ভেতরের দিকে নির্দেশ করে। গুরুত্বপূর্ণভাবে, এই লেয়ারের সীমানাগুলি dependency-cruiser ব্যবহার করে CI-তে স্বয়ংক্রিয়ভাবে প্রয়োগ করা হয়, যা স্থাপত্যগত বিচ্যুতির prevention করে।
মূল বৈশিষ্ট্যগুলির মধ্যে রয়েছে:
- **HTTP ও API**: Zod বৈধতা, সংস্করণযুক্ত এন্ডপয়েন্ট, Swagger UI, এবং ইউনিফর্ম ত্রুটি পরিচালনার সাথে Fastify 5।
- **প্রমাণীকরণ ও নিরাপত্তা**: Argon2 হ্যাশিং, JWT অ্যাক্সেস/রিফ্রেশ টোকেন, ইমেল যাচাইকরণ, পাসওয়ার্ড রিসেট, এবং RBAC-এর জন্য কম্পাইল-টাইম অনুমতি ক্যাটালগ।
- **স্থায়িত্ব**: লেনদেনের জন্য Unit of Work প্যাটার্ন বাস্তবায়ন করে MariaDB সহ Prisma।
- **জব ও ইভেন্ট**: Transactional outbox প্যাটার্ন, Redis-backed BullMQ সারি, এবং একটি ডেডিকেটেড কর্মী প্রক্রিয়া।
- **পর্যবেক্ষণ**: সম্পর্কযুক্ত ID সহ Pino লগিং, Prometheus মেট্রিক্স, OpenTelemetry ট্রেসিং, এবং একটি প্রাক-কনফিগার করা Grafana/Loki/Tempo স্ট্যাক।
- **গুণমান**: ডোমেইন/অ্যাপ্লিকেশন লেয়ারের জন্য 100% কভারেজ প্রয়োজনীয়তা, ESLint/Prettier, এবং ইন্টিগ্রেশন পরীক্ষার জন্য Testcontainers।
প্রকল্পটি নতুন বৈশিষ্ট্য যোগ করার জন্য একটি রেফারেন্স হিসেবে কাজ করার জন্য একটি কার্যকরী ব্যবহারকারী/প্রমাণীকরণ/RBAC উল্লম্ব স্লাইস সহ পাঠানো হয়। এটি একটি একক `APP_NAME` পরিবেশ পরিবর্তনশীল ব্যবহার করে সহজ পুনঃনামকরণ সমর্থন করে এবং স্থানীয় বিকাশের জন্য ব্যাপক Docker Compose কনফিগারেশন অন্তর্ভুক্ত করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.