
NeuraVision যা প্রদান করে
NeuraVision একটি AI কনটেন্ট-জেনারেশন পণ্যের ব্যাকএন্ড ইঞ্জিন। এই রিপোজিটরিতে মেম্বার ড্যাশবোর্ড, ব্যাকএন্ড API, প্রমাণীকরণ এবং স্ব-হোস্টেড অ্যানালিটিক্স ও ট্রাফিক-বিভাজন ট্র্যাকারের সার্ভার-সাইড লজিক রয়েছে।
এই এক্সপোর্টে শুধু কোড রয়েছে। এতে ল্যান্ডিং পেজ, মার্কেটিং কনটেন্ট, মিডিয়া, ড্যাশবোর্ড অ্যাসেট, এনভায়রনমেন্ট ফাইল, ডেটাবেস বা ব্যবহারকারীর জমা দেওয়া ফাইল অন্তর্ভুক্ত নেই।
প্রকল্পের কাঠামো
প্রধান ডিরেক্টরিগুলো নির্দিষ্ট ব্যাকএন্ড দায়িত্বের সঙ্গে সম্পর্কিত:
api/-তে ডাউনলোড, জেনারেশন অনুরোধ, OAuth এবং বিলিংয়ের ব্যাকএন্ড এন্ডপয়েন্ট রয়েছে।functions/-এ প্রমাণীকরণ, ইমেইল, SMS, ক্যাপচা এবং রিভিউয়ের জন্য শেয়ার করা PHP হেল্পার রয়েছে।lk/-তে মেম্বার ড্যাশবোর্ডের ব্যাকএন্ড লজিক রয়েছে।auth/,auth.php,register.phpএবংlogout.phpলগইন, নিবন্ধন এবং Google বা Twitter OAuth ফ্লো বাস্তবায়ন করে।chat/-এ সাপোর্ট চ্যাট উইজেটের ব্যাকএন্ড রয়েছে।data/-তে ক্যাম্পেইন পাঠানো এবং CAPI রিলে করার নির্ধারিত কাজ রয়েছে।a/-তে স্ব-হোস্টেড অ্যানালিটিক্স সংগ্রাহক এবং জিও-লুকআপ লজিক রয়েছে।PHPMailer/-তে ভেন্ডর করা মেইল লাইব্রেরি রয়েছে।
প্রতিটি সাবসিস্টেমের বিস্তারিত বিবরণের জন্য ENGINE.md দেখুন। এতে কোন অংশগুলো কার্যকর ইঞ্জিন কম্পোনেন্ট এবং কোনগুলো ডেমো বা শুধু লিড-সংক্রান্ত এলাকা, তা ব্যাখ্যা করা হয়েছে।
প্রয়োজনীয়তা ও কনফিগারেশন
NeuraVision nginx বা Apache-এর পেছনে PHP 7.4 বা পরবর্তী সংস্করণে চলে। এটি স্টোরেজের জন্য SQLite ব্যবহার করে এবং কোনো বিল্ড ধাপের প্রয়োজন হয় না।
এনভায়রনমেন্ট ভেরিয়েবলের মাধ্যমে কনফিগারেশন সরবরাহ করা হয়। রিপোজিটরিতে .env.example রয়েছে, যেখানে বিজ্ঞাপন প্ল্যাটফর্ম, SMTP বা Resend, hCaptcha এবং Telegram বটের সার্ভিস ক্রেডেনশিয়ালসহ প্রত্যাশিত সেটিংস নথিভুক্ত করা আছে।
কনফিগারেশন কী খালি রাখলে সংশ্লিষ্ট ফিচার নিষ্ক্রিয় থাকে, তাই আপনার ডেপ্লয়মেন্টের জন্য প্রয়োজনীয় সার্ভিসগুলোই কেবল কনফিগার করতে পারেন। প্রকৃত .env ফাইল বা API ক্রেডেনশিয়াল সোর্স কন্ট্রোলে কমিট করবেন না।
ইনস্টলেশন ও প্রাথমিক সেটআপ
- সার্ভার বা ডেভেলপমেন্ট মেশিনে রিপোজিটরি সংগ্রহ করুন।
- উদাহরণ কনফিগারেশন ফাইলটি স্থানীয় এনভায়রনমেন্ট ফাইলে কপি করুন:
cp .env.example .env.envখুলে যেসব সাবসিস্টেম ব্যবহার করতে চান, সেগুলোর প্রয়োজনীয় কী পূরণ করুন। সংশ্লিষ্ট ভেরিয়েবলের নাম শনাক্ত করতেENGINE.mdএবং কোডজুড়ে থাকাgetenv(...)কলগুলো দেখুন।- প্রকল্প ডিরেক্টরি থেকে PHP-এর বিল্ট-ইন ডেভেলপমেন্ট সার্ভার চালু করুন:
php -S 127.0.0.1:8000ডেপ্লয়মেন্টের জন্য বিল্ট-ইন ডেভেলপমেন্ট সার্ভার ব্যবহার না করে PHP-FPM এবং nginx বা Apache-কে প্রকল্প ফোল্ডারে নির্দেশ করুন।
SQLite স্টোরেজ
অ্যাপ্লিকেশন প্রথম অনুরোধ পাওয়ার সময় data/-এর SQLite ডেটাবেসগুলো স্বয়ংক্রিয়ভাবে তৈরি হয়। প্রতিটি মডিউল CREATE TABLE IF NOT EXISTS ব্যবহার করে, তাই সেটআপ প্রক্রিয়ায় আলাদা স্কিমা-ইমপোর্ট ধাপ নেই।
তৈরি হওয়া ডেটাবেসে ব্যবহারকারীর অ্যাকাউন্ট, ট্র্যাকার ইভেন্ট এবং রিভিউয়ের মতো অ্যাপ্লিকেশন ডেটা থাকতে পারে। ডেটাবেস ফাইলগুলো রিপোজিটরি এক্সপোর্টে অন্তর্ভুক্ত নয় এবং সোর্স কোডের পরিবর্তে ডেপ্লয়মেন্ট ডেটা হিসেবে পরিচালনা করা উচিত।
মৌলিক ব্যবহার
স্থানীয়ভাবে ব্যাকএন্ড চালু করুন
এনভায়রনমেন্ট কনফিগার করার পর স্থানীয় সার্ভার চালু করুন:
php -S 127.0.0.1:8000এরপর স্থানীয় ঠিকানার মাধ্যমে অ্যাপ্লিকেশনে প্রবেশ করে আপনার কনফিগারেশন সমর্থিত প্রমাণীকরণ, ড্যাশবোর্ড, API, চ্যাট বা অ্যানালিটিক্স ফ্লোগুলো পরীক্ষা করুন।
প্রমাণীকরণ কনফিগার করুন
Google বা Twitter লগইনের জন্য প্রয়োজনীয় OAuth-সম্পর্কিত এনভায়রনমেন্ট ভেরিয়েবল সেট করুন। প্রমাণীকরণের এন্ট্রি পয়েন্টগুলোর মধ্যে রয়েছে auth/, auth.php, register.php এবং logout.php। কোনো প্রোভাইডার আপনার ডেপ্লয়মেন্টের অংশ না হলে ঐচ্ছিক ক্রেডেনশিয়ালগুলো খালি রাখুন।
সার্ভিস-নির্ভর ফিচার সক্রিয় করুন
আপনার প্রয়োজনীয় ইন্টিগ্রেশনগুলোই কেবল কনফিগার করুন। উদাহরণস্বরূপ, মেইল পাঠানোর জন্য উপযুক্ত SMTP বা Resend সেটিংস প্রয়োজন, আর ক্যাপচা, Telegram, বিজ্ঞাপন-প্ল্যাটফর্ম এবং CAPI ফিচারের জন্য সংশ্লিষ্ট ক্রেডেনশিয়াল প্রয়োজন। অনুপস্থিত বা খালি কী এসব ঐচ্ছিক সক্ষমতা নিষ্ক্রিয় রাখে।
উন্নত কনফিগারেশন ও পরিচালনা
সাবসিস্টেম অনুযায়ী কনফিগারেশন নির্ধারণ করুন
প্রতিটি এনভায়রনমেন্ট ভেরিয়েবলকে বাধ্যতামূলক ধরে নেবেন না। .env.example দিয়ে শুরু করুন, তারপর ENGINE.md ব্যবহার করে কোন কী API, প্রমাণীকরণ, নির্ধারিত কাজ, অ্যানালিটিক্স সংগ্রাহক বা যোগাযোগ ফিচারের সঙ্গে সম্পর্কিত তা নির্ধারণ করুন। এতে ডেপ্লয়মেন্ট সংক্ষিপ্ত থাকে এবং সমস্যা সমাধান আরও কেন্দ্রীভূত হয়।
শুধু-কোড এক্সপোর্টটি বুঝুন
রিপোজিটরিতে ইচ্ছাকৃতভাবে মেম্বার ড্যাশবোর্ডের ভিজ্যুয়াল অ্যাসেট, যেমন ছবি, ভিডিও, CSS এবং JavaScript, বাদ দেওয়া হয়েছে। ল্যান্ডিং ও আইনি পেজ, মিডিয়া, ফন্ট, আন্তর্জাতিকীকরণ কপি, আপলোড, চ্যাট সেশন, চ্যাট রিজিউম, OAuth স্টেট ফাইল এবং SQLite ডেটাবেসও বাদ রয়েছে। ইঞ্জিনটিকে সম্পূর্ণ পণ্যে সংযুক্ত করার সময় এসব রিসোর্স আলাদাভাবে সরবরাহ বা সংরক্ষণের পরিকল্পনা করুন।
সঠিক হোস্টিং মডেল ব্যবহার করুন
স্থানীয় পরীক্ষার জন্য php -S ব্যবহার করুন। সার্ভার ডেপ্লয়মেন্টে PHP অ্যাপ্লিকেশনটি PHP-FPM-সহ nginx বা Apache-এর পেছনে চালান এবং রিপোজিটরিতে গোপন তথ্য হার্ডকোড না করে সার্ভারের কনফিগারেশনের মাধ্যমে এনভায়রনমেন্ট ভেরিয়েবল সরবরাহ করুন।
চালুর আগে ফিচারের অবস্থা পর্যালোচনা করুন
প্রকল্পের ডকুমেন্টেশনে কার্যকর ইঞ্জিন কম্পোনেন্ট এবং ডেমো বা শুধু লিড-সংক্রান্ত ফিচারের মধ্যে পার্থক্য দেখানো হয়েছে। প্রোডাকশনে কোনো সাবসিস্টেমের ওপর নির্ভর করার আগে ENGINE.md পর্যালোচনা করুন, বিশেষ করে জেনারেশন অনুরোধ, বিলিং, অ্যানালিটিক্স বা নির্ধারিত কাজের ইন্টিগ্রেশন পরিকল্পনা করার সময়।
উপসংহার
NeuraVision PHP 7.4+ ব্যাকএন্ড, SQLite স্টোরেজ, পরিবেশভিত্তিক কনফিগারেশন, প্রমাণীকরণ, API, ড্যাশবোর্ড লজিক, যোগাযোগ ব্যবস্থা, নির্ধারিত কাজ এবং স্ব-হোস্টেড অ্যানালিটিক্স প্রদান করে। শুরু করতে .env.example কপি করুন, প্রয়োজনীয় পরিষেবাগুলো কনফিগার করুন, স্থানীয় পরীক্ষার জন্য PHP সার্ভার চালু করুন এবং প্রথম অনুরোধের সময় অ্যাপ্লিকেশনকে SQLite টেবিল তৈরি করতে দিন। সাবসিস্টেমের সীমা ও ডিপ্লয়মেন্ট প্রস্তুতি বুঝতে ENGINE.md ব্যবহার করুন।
