تعمل الواجهة الخلفية مفتوحة المصدر وواجهة برمجة التطبيقات (API) على تمكين فرق التطوير من إنشاء منصات وأسواق دائمة وتشغيلها وتوسيع نطاقها بشكل أسرع من أي وقت مضى .
ستيلاس.كوم | التوثيق | مدونة | تغريد
يشمل:
للحصول على تجربة متكاملة، يمكنك البدء هنا باستخدام قوالب الواجهة الأمامية Vue.js مفتوحة المصدر.
أسهل طريقة لنشر Stelace والاستفادة منه هي من خلال البنية التحتية الرسمية المُدارة لدينا. يمكنك الحصول على نسخة احتياطية جديدة للنظام الأساسي وتشغيلها في دقائق معدودة من خلال النشر عالي التوفر والقياس التلقائي والبيئات الاختبارية والمباشرة المضمنة ولوحة تحكم المسؤول. تتوفر أيضًا اتفاقية مستوى الخدمة والبنية التحتية المخصصة والدعم المتميز لعملاء المؤسسات.
مع:
جميع واجهات برمجة التطبيقات المدرجة في المستندات ومرجع واجهة برمجة التطبيقات.
ترتبط واجهة مستخدم لوحة تحكم المشرف بعرضنا للبرامج كخدمة وليست مفتوحة المصدر. بالتأكيد لن يحدث ذلك أبدًا ما لم يتعاون المجتمع والموظفين لتحقيق ذلك.
هذا كل شيء!
هذا يعني أنه يمكنك التبديل بحرية بين أي من خطط SaaS والاستضافة الذاتية الخاصة بنا في أي وقت إذا لم تكن بحاجة إلى دعم Stelace أو SLA وكنت مستعدًا لبناء واجهة المستخدم الإدارية الخاصة بك، أو لا تحتاج إلى واحدة؟.
ملحوظة: بالنسبة لواجهة مستخدم تطبيقك، قمنا أيضًا بتصميم قوالب واجهة أمامية مفتوحة المصدر.
برجاء الانتقال إلى موقع Docker الإلكتروني لتثبيت Docker CE/EE. اختر دليل التثبيت المناسب لنظامك.
يرجى الرجوع إلى التعليمات الرسمية.
git clone https://github.com/stelace/stelace.git && cd stelace && git checkout origin/master
نوصي باستخدام صور Docker التي تم تكوينها مسبقًا لقواعد البيانات لتسهيل عملية التطوير.
إنها الطريقة التي يقوم بها فريق Stelace بتطوير واختبار خادم API.
يرجى ملاحظة أنه يجب عليك استخدام قواعد البيانات المناسبة في الإنتاج بالرغم من ذلك.
لنبدأ بملف .env
الخاص بك لتخصيصه إذا لزم الأمر:
cp .env.example .env
إنشاء صور Docker:
docker-compose build
وبدء قواعد البيانات:
yarn docker:db
اختصار لـ: docker-compose up -d elasticsearch postgresql redis
قم بتشغيل yarn
لتثبيت التبعيات.
قم بتشغيل yarn prepare
لتثبيت خطافات الهاسكي
قم بتشغيل ترحيل قاعدة البيانات لإنشاء الجداول أو تحديثها تلقائيًا:
yarn knex migrate:latest # or `npm run knex migrate:latest`
yarn plugins
yarn seed
نصيحة: استخدم أحد قوالب Stelace Instant مفتوحة المصدر الخاصة بنا للتطوير السريع والمتكامل.
yarn start # or `npm start`
تم إنشاء خادم Stelace ونشره على أجهزة Linux (Ubuntu)، وقد تواجه بعض المشاكل في تشغيل الخادم مع نظام تشغيل آخر.
يمكن لـ Docker حل هذه المشكلة بسهولة.
كل ما عليك فعله هو تغيير المضيف من 127.0.0.1
إلى elasticsearch
و postgresql
و redis
في ملف .env
الخاص بك عند استخدام واجهة برمجة التطبيقات وقواعد البيانات الحاوية.
إليك كيفية تثبيت التبعيات وقاعدة بيانات init:
# ephemeral container with --rm option
docker-compose run --rm api yarn
docker-compose run --rm api yarn seed
ملاحظة: يتم استخدام الدليل الجذر للمشروع كوحدة تخزين Docker أثناء التطوير، بما في ذلك node_modules
المشتركة. تحتاج إلى إعادة تثبيت التبعيات عند التبديل بين إعدادات الخادم العادي وحاوية الخادم.
يجري:
docker-compose up -d
أوامر مفيدة للتشغيل من جذر المشروع:
docker-compose logs -f api
docker-compose down
docker volume prune
نصيحة: استخدم yarn docker:db:reset
لإعادة ضبط الحاويات ووحدات التخزين أثناء التطوير. يمكن أن يكون هذا مفيدًا إذا كانت لديك أي مشكلة مع قاعدة بيانات تالفة أو بيانات مخزن redis، أو إذا كنت ترغب في ترقية قواعد البيانات ( تحذير : سيتم فقدان بيانات ووحدات تخزين الحاويات).
الاختبارات هي في الغالب اختبارات تكامل مع قواعد البيانات قيد التشغيل لتغطية وظائف واجهة برمجة التطبيقات (API) الكاملة.
قم بإجراء npm run test
أو yarn test
باستخدام ElasticSearch وPostgreSQL وRedis قيد التشغيل ومتغيرات البيئة المناسبة (المضيفون والمنافذ وبيانات الاعتماد).
يمكنك استخدام حاويات قاعدة البيانات Docker (راجع استخدام حاوية خادم API) مع المضيف المناسب (127.0.0.1) والمنافذ (مثل PostgreSQL: 6543).
يتم تشغيل ملفات الاختبارات بالتوازي مع AVA، باستخدام مخططات متعددة في قاعدة بيانات PostgreSQL.
تتطلب الاختبارات استخدامًا مكثفًا لوحدة المعالجة المركزية (CPU) وربما تريد أن يكون لديك 4 مراكز لوحدة المعالجة المركزية (CPU) لتشغيلها في ظروف جيدة.
يرجى العثور على مزيد من التفاصيل في مستندات الخادم (الاختبار).
يمكن أن يكون الحصول على سجلات الخادم في الوقت الفعلي مفيدًا جدًا أثناء التطوير أو الاختبارات.
عليك فقط تعيين متغير البيئة:
ROARR_LOG=true yarn test
لرؤية مخرجات استدعاءات console.log
أثناء اختبارات AVA، قم بإضافة علامة --verbose
:
yarn test --verbose
يستخدم فريق Stelace صورة Docker لخادم API في الإنتاج، وكذلك اختبارات CI.
يمكنك استخدام حاوية خادم API لإجراء الاختبارات محليًا أيضًا.
تأكد من تشغيل ElasticSearch وPostgreSQL وRedis بمجرد بدء تشغيل حاويات قاعدة البيانات:
# Install dependencies used by API server container if not done yet
docker-compose run --rm api yarn
# Checking that databases are up and running
docker-compose run --rm api /bin/sh -c
' until nc -z -v -w30 elasticsearch 9200 && nc -z -v -w30 postgresql 5432 && nc -z -v -w30 redis 6379
do
echo "Waiting for PostgreSQL, ElasticSearch and Redis…"
sleep 2
done ' ;
إجراء الاختبارات باستخدام API المعبأة في حاوية:
docker-compose run --rm api yarn test
# instead of standard local server with `yarn test`
كما ذكر أعلاه، نوصي باستخدام قواعد البيانات المناسبة للإنتاج. يمكنك استضافة قواعد البيانات ذاتيًا أو إضفاء الطابع الخارجي عليها باستخدام موفري قواعد البيانات.
يرجى الاطلاع على الإجراءات التفصيلية لتكوين SSL لقاعدة البيانات.
يرجى العثور على توضيحات حول الأنواع المختلفة لمفاتيح API.
الإصدارات العامة من Stelace API التي تقدم تغييرات عاجلة مؤرخة بشكل علني مثل 2019-05-20
ولكن المستودع نفسه يتبع قواعد سيمفير. الإصدار المؤرخ يعادل التحديثات major
، كما في semver major.minor.patch
.
يتم دعم الإصدارات القديمة المؤرخة بفضل المحولات المستوحاة من الأمثلة الرائعة.
عند إدخال تغييرات جذرية (يُشار إليها بإصدار رئيسي جديد في هذا المستودع وفقًا لـ semver):
src/versions/index.js
description
في محولات الطلبStelace مفتوح المصدر ونرحب بمساهمات المجتمع، بما في ذلك مساهمتك!
قبل المساهمة في Stelace:
تم ترخيص خادم Stelace API لمنصات الويب بموجب شروط ترخيص GNU General Public License الإصدار 3.
يرجى الاتصال بنا لمناقشة خيارات الترخيص الأخرى أو إلقاء نظرة على خطط SaaS الخاصة بنا للحصول على الدعم الخلفي المستضاف والدعم المتميز.
Stelace حقوق الطبع والنشر © 2018 إلى الوقت الحاضر Sharinplace SAS.
هذا البرنامج هو برنامج مجاني: يمكنك إعادة توزيعه و/أو تعديله بموجب شروط رخصة جنو العامة كما نشرتها مؤسسة البرمجيات الحرة، إما الإصدار 3 من الترخيص، أو (حسب اختيارك) أي إصدار لاحق.
يتم توزيع هذا البرنامج على أمل أن يكون مفيدًا، ولكن دون أي ضمان؛ دون حتى الضمان الضمني لقابلية التسويق أو الملاءمة لغرض معين. راجع رخصة جنو العامة لمزيد من التفاصيل.
تم تضمين نسخة من رخصة GNU العامة في هذا البرنامج، وهي متاحة أيضًا على https://www.gnu.org/licenses/gpl-3.0.txt.
صُنع باستخدام ❤️ في باريس، فرنسا.