इस प्रोजेक्ट के बारे में

Phish.in लाइव Phish ऑडियंस रिकॉर्डिंग्स का एक ओपन सोर्स आर्काइव है। बैकएंड Ruby on Rails और Grape API को PostgreSQL डेटाबेस के साथ जोड़ता है, जबकि phish.in पर React वेब फ्रंटएंड उपयोगकर्ताओं को ऑडियो ब्राउज़ और प्ले करने की सुविधा देता है। एक JSON API (Swagger द्वारा डॉक्यूमेंटेड) कंटेंट तक प्रोग्रामेटिक एक्सेस की अनुमति देता है। ऑडियो MP3 फॉर्मेट में उपलब्ध है, और बाद में अधिक फॉर्मेट्स और सोर्स की संभावना है। MP3s, वेवफॉर्म PNGs और एल्बम आर्ट JPEGs जैसी एसेट्स सीधे वेब सर्वर से सर्व की जाती हैं और CloudFlare CDN के माध्यम से कैश की जाती हैं। कंटेंट और डेवलपमेंट पर चर्चा के लिए एक Discord कम्युनिटी मौजूद है, और एक अलग Discord बॉट सेटलिस्ट क्वेरी कर सकता है और वॉइस चैनलों में संगीत चला सकता है। डेवलपमेंट सेटअप Docker और mise पर निर्भर करता है। डेवलपर्स रिपॉजिटरी क्लोन करते हैं, उदाहरण से एक .env फाइल बनाते हैं, सर्विसेज टास्क चलाते हैं, और एक दिए गए डेवलपमेंट SQL डंप को PostgreSQL कंटेनर में इंपोर्ट करते हैं। एक PRODUCTION_CONTENT फ्लैग लोकल डेवलपमेंट को प्रोडक्शन कंटेंट प्रस्तुत करने की अनुमति देता है। ऐप को mise के माध्यम से Ruby वर्ज़न मैनेजमेंट के साथ नेटिवली डेवलप किया जा सकता है, या पूरी तरह से Docker के अंदर। टेस्टिंग RSpec के साथ की जाती है, या तो Docker में या नेटिवली। कंटेंट इंपोर्टिंग सेटलिस्ट के लिए Phish.net API का उपयोग करती है, जिसके लिए PNET_API_KEY एनवायरनमेंट वैरिएबल में एक API की आवश्यकता होती है। पसंदीदा इंपोर्ट पाथ /admin पर एक वेब एडमिन पैनल है, जहां एक एडमिन archive.org से एक शो इंपोर्ट कर सकता है या फाइलें अपलोड कर सकता है, सेटलिस्ट और ट्रैक बाउंड्रीज़ की समीक्षा कर सकता है, और पब्लिश कर सकता है। एक CLI बैच इंपोर्ट भी उपलब्ध है: विशिष्ट फॉर्मेट में नामित MP3s को ./content/import के अंतर्गत एक डेट-नामित फोल्डर में रखा जाता है और एक Rails टास्क के साथ प्रोसेस किया जाता है, जिसके बाद एक इंटरैक्टिव CLI स्टेप होती है। एप्लिकेशन AI सहायक इंटीग्रेशन के लिए POST /mcp पर एक MCP (Model Context Protocol) एंडपॉइंट भी एक्सपोज़ करता है, जिसमें टूल्स और विजेट्स app/mcp/ के अंतर्गत परिभाषित हैं। README में PostgreSQL कनेक्शन कॉन्फ्लिक्ट्स, एक Webpack देव सर्वर पोर्ट कॉन्फ्लिक्ट, और Mac ARM पर ruby-audio जेम इंस्टॉल करने के लिए ट्रबलशूटिंग नोट्स शामिल हैं। इस प्रोजेक्ट को 2012 में Jeff Lang द्वारा StreamPhish से अनुमति के साथ फोर्क किया गया था, और इसे Justin Craig-Kuhn द्वारा मेंटेन किया जाता है।