موقع لمؤسسة Metabrainz. هذا تطبيق ويب يستند إلى قارورة يوفر معلومات حول الأساس ومؤيديه ، ويقبل التبرعات من المستخدمين والمؤسسات ، ويوفر الوصول إلى حزم النسخ المتماثل لـ MusicBrainz.
مثل Pythonbrainz الأخرى ، يحتوي هذا المستودع أيضًا على إعداد إجراءات GitHub للمساعدة في إجراء إصدار. تم تصميم صورة Docker ودفعها إلى Docker Hub كلما تم إصدار إصدار من Github. فيما يلي الخطوات اللازمة لإصدار:
Draft إصدار في الأعلى. انقر على زر Edit بجانبه.Tag Version ، أدخل العلامة التي تريد أن يتم وضع علامة على صورة Docker. على سبيل المثال ، إذا قمت بإدخال v-2021-06-08.0 كعلامة ، فستكون صورة Docker المقابلة هي metabrainz/metabrainz:v-2021-06-08.0 .Publish release .أسهل طريقة لإنشاء موقع Metabrainz للتطوير هي استخدام Docker. تأكد من تثبيته على جهازك قبل اتباع التعليمات.
يجب تخزين تكوين التطبيق في الملف المسمى config.py . يمكنك استخدام مثال واحد ( config.py.example ) وتعديل التكوين:
$ cp config.py.example config.py
$ vim config.py
تحتاج إلى التأكد من تعيين المتغيرات المطلوبة.
للسماح للمستخدمين بتسجيل الدخول ، ستحتاج إلى تعيين مفتاحين: MUSICBRAINZ_CLIENT_ID و MUSICBRAINZ_CLIENT_SECRET . للحصول على هذه المفاتيح ، تحتاج إلى تسجيل مثيل Metabrainz.org على MusicBrainz على https://musicbrainz.org/account/applications/register. قم بتعيين حقل عنوان URL للاتصال إلى http://<your host>/login/musicbrainz/post (إذا تم تعيين PREFERRED_URL_SCHEME في ملف التكوين على https ، تأكد من تحديد نفس البروتوكول لعنوان URL للاتصال). إذا قمت بتشغيل الخادم محليًا ، استبدل <your host> بمضيف localhost .
التالي هو تكوين أنظمة الدفع. نستخدم PayPal و Stripe لقبول المدفوعات لمؤسستنا. يحتوي قاموس paypal_account_ids على معرفات PayPal أو عناوين البريد الإلكتروني للحسابات لكل عملة مدعومة. paypal_business هو عنوان لغير التدوين ؛ سيتم تجاهل جميع المدفوعات المرسلة هناك.
بعد تعيين هذه الإعدادات ، أنت متأكد من أن التكوين الخاص بك يعمل بشكل صحيح في وضع الاختبار ، يمكنك قلب المفتاح. تعيين تصحيح إلى False و payer_production إلى True . تحذير! لأغراض التطوير ، يجب عليك فقط استخدام المدفوعات في وضع التصحيح.
يجب نسخ حزم النسخ المتماثل إلى ./data/replication_packets . يجب أن يكون له الهيكل التالي:
./data/replication_packets/
- hourly replication packets
سيقوم هذا الأمر ببناء وبدء جميع الخدمات التي ستتمكن من استخدامها للتطوير:
$ ./develop.sh
في المرة الأولى التي تقوم فيها بإعداد التطبيق ، يجب تهيئة قاعدة البيانات:
$ ./develop.sh manage init-db --create-db
يجب الآن الوصول إلى خادم الويب على http: // localhost: 80/ .
نظرًا للطريقة التي تعمل بها بيئة التطوير مع Docker ، من الضروري بناء CSS بشكل منفصل عن بناء صورة. للقيام بذلك ، تحتاج إلى بدء تشغيل خادم التطوير (جميع الحاويات التي تحتوي على Docker Compose) وإرفاق حاوية web :
$ ./develop.sh exec -it web bashثم قم بتثبيت وحدات NPM وبناء CSS:
web# npm install
web# ./node_modules/.bin/lessc ./metabrainz/static/css/main.less > ./metabrainz/static/css/main.css
web# ./node_modules/.bin/lessc ./metabrainz/static/css/theme/boostrap/boostrap.less > ./metabrainz/static/css/theme/boostrap/boostrap.css
web# ./node_modules/.bin/lessc ./metabrainz/static/fonts/font_awesome/less/font-awesome.less > ./metabrainz/static/fonts/font_awesome/less/font-awesome.cssآخر اثنين من المباني ضرورية فقط إذا كنت تخطط لاستخدام واجهة المسؤول.
بمجرد أن تقوم ببناء وبدء جميع الخدمات كما هو مذكور أعلاه ، قم بتشغيل:
$ ./develop.sh manage extract-strings
يتم تجميع ملفات POT تلقائيًا في كل مرة يتم فيها إنشاء الخدمات ، ولكن في حالة إجراء أي تغييرات على ملفات POT وتريد تجميع ملفات الترجمة مرة أخرى ، قم بتشغيلها:
$ ./develop.sh manage compile-translations
لتشغيل جميع الاختبارات استخدام:
$ ./test.sh
قبل القيام بأي شيء ، تأكد من تعيين متغير PAYMENT_PRODUCTION في ملف التكوين على False ! وبهذه الطريقة ، ستستخدم بيئات الاختبار حيث لا يتم فرض رسوم على بطاقات الائتمان والحسابات المصرفية بالفعل. يمكن العثور على مزيد من المعلومات حول بيئات الاختبار لكل خدمة دفع في وثائقها:
يرجى ملاحظة أنه لكي يعمل IPNS ، يجب أن يكون التطبيق متاحًا للجمهور. إذا كنت تقوم بتطوير على جهازك المحلي ، فمن المحتمل أن تكون نقاط نهاية رد الاتصال الخاصة بك يمكن الوصول إليها لمعالجات الدفع.