প্রকল্প সম্পর্কে
## প্রকল্প অবস্থান
মেংইয়া (Mengya) মাতৃ-শিশু স্বাস্থ্য ও প্যারেন্টিং কনটেন্ট প্ল্যাটফর্মের লোকাল ট্র্যাডিশনাল ডাইরেক্ট ডিপ্লয়মেন্ট প্রজেক্ট, ডেভেলপারদের লোকাল ডিবাগিং, সোর্স কোড হট রিলোড ডেভেলপমেন্ট এবং Docker পরিবেশবিহীন হালকা হোস্ট ডিপ্লয়মেন্টের জন্য উপযুক্ত। রিপোজিটরিতে Docker সংস্করণের সহপ্রকল্পও রয়েছে।
## আর্কিটেকচার বৈশিষ্ট্য
- **মনোলিথিক ইন্টিগ্রেটেড হোস্টিং**: ফ্রন্টএন্ড প্রোডাকশন বিল্ড আউটপুট Django-এর templates ও static ডিরেক্টরিতে মার্জ করা হয়, একটি Python প্রসেসই SPA পেজ, স্ট্যাটিক রিসোর্স ও ব্যাকএন্ড API হোস্ট করে, রানটাইমে Node.js স্থায়ী সার্ভিসের প্রয়োজন নেই।
- **ডেটা স্টোরেজ**: লোকাল SQLite3 (backend/db.sqlite3), স্বয়ংক্রিয় মাইগ্রেশন সমর্থন করে।
- **টেকনোলজি স্ট্যাক**: Python 3.10+, Django + DRF, React + Vite (শুধুমাত্র ফ্রন্টএন্ড সেকেন্ডারি ডেভেলপমেন্টে Node.js 18+ প্রয়োজন)।
- **নিরাপত্তা বিচ্ছিন্নতা**: ফ্রন্টএন্ড ও ব্যাকএন্ড লুপব্যাক অ্যাড্রেসে বাঁধা, বাহ্যিক অ্যাক্সেস Nginx রিভার্স প্রক্সির মাধ্যমে; SNI-এর মাধ্যমে 443 পোর্টে হোস্ট মেশিনের অন্যান্য HTTPS সাইটের সাথে সহাবস্থান সমর্থন করে, SAN এক্সটেনশনসহ স্ব-স্বাক্ষরিত সার্টিফিকেট স্বয়ংক্রিয়ভাবে তৈরি করে এবং 80 থেকে 443 রিডাইরেক্ট অন্তর্নির্মিত।
## অপারেশন স্ক্রিপ্ট run.sh
start / restart / stop / status / add_nginx / init_data / help ইত্যাদি কমান্ড প্রদান করে, কমান্ড লাইন আর্গুমেন্টের মাধ্যমে কাস্টম পোর্ট, অ্যাডমিন অ্যাকাউন্ট পাসওয়ার্ড নিকনেম, SNI ডোমেইন নির্ধারণ করা যায় এবং স্বয়ংক্রিয়ভাবে .env-তে লেখা হয়। স্টার্টআপের আগে স্বয়ংক্রিয়ভাবে ক্যাশ ও .git অপ্রয়োজনীয় অবজেক্ট পরিষ্কার করে, .env অনুপস্থিত থাকলে টেমপ্লেট থেকে স্ব-নিরাময় ইনিশিয়ালাইজেশন করে।
## ফাংশন মডিউল
- **অ্যাডমিন অ্যাকাউন্ট ব্যবস্থাপনা**: স্টার্টআপে ensure_admin চালানো হয়, একক অ্যাডমিন লাইফসাইকেল নিশ্চিত করে, স্বয়ংক্রিয়ভাবে ঐতিহাসিক অ্যাডমিন অ্যাকাউন্ট পরিষ্কার করে, সাধারণ নিবন্ধিত ব্যবহারকারীর ডেটা সংরক্ষণ করে।
- **লগইন নিরাপত্তা ঝুঁকি নিয়ন্ত্রণ**: পাসওয়ার্ড ও নিরাপত্তা প্রশ্নের ভুল গণনা, লক ডাউন কাউন্টডাউন, গ্রাফিক্যাল ক্যাপচা, পাসওয়ার্ড পুনরুদ্ধারের প্রচেষ্টা সীমা; অ্যাডমিন অ্যাকাউন্ট ফ্রিজ হয় না, শুধুমাত্র অপেক্ষা ও ক্যাপচা ট্রিগার হয়।
- **অনুমতি নিয়ন্ত্রণ ম্যাট্রিক্স**: ৬টি প্রধান মডিউল জুড়ে মোট ৩১টি সূক্ষ্ম অনুমতি (পেজ মেনু ও CRUD অপারেশন), গ্লোবাল ডিফল্ট ও একক ব্যবহারকারী কাস্টমাইজেশন সমর্থন করে, প্যারেন্ট-চাইল্ড অনুমতি রিকার্সিভ লিংকেজ, অ্যাডমিনের সর্বোচ্চ অনুমতি নিষ্ক্রিয় করা যায় না।
- **কনটেন্ট ও ব্যবসা**: গর্ভাবস্থা সাপ্তাহিক ক্যালেন্ডার, প্রসবপূর্ব গল্প, গর্ভাবস্থার রেসিপি, শিশু বিশ্বকোষ, প্রসব প্রস্তুতি তালিকা, পণ্য লাইব্রেরি ও ব্র্যান্ড, পণ্য পছন্দ, ক্রয় চ্যানেল লিংক।
- **AI সহকারী**: ব্যক্তিগত বা অ্যাডমিন থেকে উত্তরাধিকারসূত্রে প্রাপ্ত API Key কনফিগারেশন ও সংযোগ পরীক্ষা সমর্থন করে, মাল্টি-ইঞ্জিন অনলাইন সার্চ ফেইলওভার (DuckDuckGo, Google, Bing, 360, Sogou, Baidu, Yahoo), টাইমআউট হলে লোকাল নলেজ বেসে ডিগ্রেড হয়, উত্তরে তথ্যের উৎস চিহ্নিত করা হয়।
- **শিশু প্রোফাইল**: অনাগত (প্রত্যাশিত প্রসব তারিখ, ভ্রূণের নাম) ও জন্মগ্রহণকারী (জন্মদিন, ওজন) দুটি মোড সমর্থন করে, গর্ভাবস্থার পর্যায়ের সাথে দ্বিমুখী সিঙ্ক হয়, বড় শিশুর মাস বয়স "X বছর X মাস" হিসেবে প্রদর্শিত হয়।
- **অডিট লগ**: অথেনটিকেশন, ব্যবহারকারী নিয়ন্ত্রণ, পর্যায় পরিবর্তন, পণ্য, পছন্দ, স্বাস্থ্য, প্রসব প্রস্তুতি তালিকা, AI প্রশ্নোত্তর ইত্যাদি কার্যক্রম কভার করে, ফিল্টার ও CSV এক্সপোর্ট সমর্থন করে।
## ডিরেক্টরি কাঠামো
backend (Django প্রজেক্ট, apps, config, db.sqlite3, requirements.txt), frontend (Vite + React সোর্স কোড), logs (লগ ও PID), .env, run.sh।
## প্রযোজ্য পরিস্থিতি
যারা একক মেশিন বা হালকা সার্ভারে ন্যূনতম নির্ভরতা নিয়ে মাতৃ-শিশু কনটেন্ট প্ল্যাটফর্ম চালাতে চান এবং সূক্ষ্ম অনুমতি ও নিরাপত্তা ঝুঁকি নিয়ন্ত্রণ ক্ষমতা প্রয়োজন তাদের জন্য উপযুক্ত।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.