প্রকল্প সম্পর্কে
Phish.in হলো লাইভ Phish দর্শক-রেকর্ডিংয়ের একটি ওপেন সোর্স আর্কাইভ। ব্যাকএন্ডে PostgreSQL ডেটাবেসের উপর Ruby on Rails এবং একটি Grape API একত্রিত, আর phish.in-এ একটি React ওয়েব ফ্রন্টএন্ড ব্যবহারকারীদের অডিও ব্রাউজ ও প্লে করার সুযোগ দেয়। একটি JSON API (Swagger-এ ডকুমেন্টেড) কনটেন্টে প্রোগ্রাম্যাটিক অ্যাক্সেসের অনুমতি দেয়।
অডিও MP3 ফরম্যাটে সরবরাহ করা হয়, ভবিষ্যতে আরও ফরম্যাট ও সোর্সের সম্ভাবনা রয়েছে। MP3, waveform PNG এবং অ্যালবাম আর্ট JPEG-এর মতো অ্যাসেট সরাসরি ওয়েব সার্ভার থেকে পরিবেশন করা হয় এবং CloudFlare CDN-এর মাধ্যমে ক্যাশ করা হয়। কনটেন্ট ও ডেভেলপমেন্ট নিয়ে আলোচনার জন্য একটি Discord কমিউনিটি রয়েছে, এবং একটি আলাদা Discord বট সেটলিস্ট কুয়েরি করতে ও ভয়েস চ্যানেলে মিউজিক প্লে করতে পারে।
ডেভেলপমেন্ট সেটআপ Docker এবং mise-এর উপর নির্ভর করে। ডেভেলপাররা রিপোজিটরি ক্লোন করেন, উদাহরণ থেকে একটি .env ফাইল তৈরি করেন, services টাস্ক চালান এবং প্রদত্ত একটি ডেভেলপমেন্ট SQL ডাম্প PostgreSQL কন্টেইনারে ইমপোর্ট করেন। একটি PRODUCTION_CONTENT ফ্ল্যাগ স্থানীয় ডেভেলপমেন্টে প্রোডাকশন কনটেন্ট উপস্থাপনের সুযোগ দেয়। অ্যাপটি mise-এর মাধ্যমে Ruby ভার্সন ম্যানেজমেন্টসহ নেটিভভাবে, অথবা সম্পূর্ণভাবে Docker-এর ভিতরে ডেভেলপ করা যায়। টেস্টিং RSpec দিয়ে করা হয়, হয় Docker-এ বা নেটিভভাবে।
কনটেন্ট ইমপোর্টিং সেটলিস্টের জন্য Phish.net API ব্যবহার করে, যার জন্য PNET_API_KEY এনভায়রনমেন্ট ভেরিয়েবলে একটি API কী প্রয়োজন। পছন্দের ইমপোর্ট পথ হলো /admin-এ একটি ওয়েব অ্যাডমিন প্যানেল, যেখানে একজন অ্যাডমিন archive.org থেকে একটি শো ইমপোর্ট করতে বা ফাইল আপলোড করতে, সেটলিস্ট ও ট্র্যাক বাউন্ডারি পর্যালোচনা করতে এবং প্রকাশ করতে পারেন। একটি CLI ব্যাচ ইমপোর্টও উপলব্ধ থাকে: একটি নির্দিষ্ট ফরম্যাটে নামকরণ করা MP3 ./content/import-এর অধীনে তারিখ-নামের ফোল্ডারে রাখা হয় এবং একটি Rails টাস্ক দিয়ে প্রসেস করা হয়, তারপর একটি ইন্টারঅ্যাকটিভ CLI ধাপ অনুসরণ করা হয়।
অ্যাপ্লিকেশনটি AI সহকারী ইন্টিগ্রেশনের জন্য POST /mcp-এ একটি MCP (Model Context Protocol) এন্ডপয়েন্টও প্রকাশ করে, যেখানে টুল ও উইজেট app/mcp/-এর অধীনে সংজ্ঞায়িত। README-তে PostgreSQL সংযোগ দ্বন্দ্ব, একটি Webpack dev server পোর্ট দ্বন্দ্ব এবং Mac ARM-এ ruby-audio জেম ইনস্টল করার জন্য সমস্যা সমাধানের নোট রয়েছে।
প্রকল্পটি ২০১২ সালে Jeff Lang-এর StreamPhish থেকে অনুমতি নিয়ে ফর্ক করা হয়েছিল, এবং এটি Justin Craig-Kuhn দ্বারা রক্ষণাবেক্ষণ করা হয়।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.