عن المشروع

بوكيت باس (PocketBase) هو خادم خلفي مفتوح المصدر مكتوب بلغة Go، يُوزع كملف تنفيذي واحد محمول. يجمع بين قاعدة بيانات SQLite مضمنة، واشتراكات في الوقت الفعلي، وإدارة مدمجة للملفات والمستخدمين، ولوحة تحكم للمسؤولين (Admin dashboard UI)، بالإضافة إلى واجهة برمجة تطبيقات تشبه REST. يمكن استخدام بوكيت باس بطريقتين رئيسيتين: 1. تطبيق مستقل: يمكن تنزيل ملف تنفيذي جاهز من صفحة الإصدارات وتشغيله باستخدام الأمر `./pocketbase serve`. تتضمن الملفات التنفيذية الجاهزة بشكل افتراضي إضافة آلة افتراضية لـ JavaScript، مما يتيح توسيع وظائف بوكيت باس باستخدام لغة JavaScript. 2. إطار عمل/أداة Go: يتم توزيع بوكيت باس كحزمة مكتبة عادية لـ Go، مما يتيح كتابة منطق أعمال مخصص للتطبيقات مع الحفاظ على إنتاج ملف تنفيذي ثابت الارتباط بالكامل، على سبيل المثال عبر البناء باستخدام الأمر `CGO_ENABLED=0 go build`. يتضمن مثال بسيط لملف `main.go` تسجيل مسار مخصص مثل `GET /hello` ثم بدء التطبيق باستخدام `app.Start()`. تتوفر عملاء SDK رسمية لكل من JavaScript (للمتصفح، Node.js، React Native) وDart (للويب، الهاتف المحمول، سطح المكتب، CLI)، مما يسهل التفاعل مع واجهات برمجة تطبيقات الويب الخاصة ببوكيت باس. توجد الوثائق والأمثلة على الموقع https://pocketbase.io/docs. تغطي أهداف البناء المدعومة لمحرك SQLite الخاص بـ Go مجموعة واسعة من تركيبات GOOS/GOARCH، بما في ذلك darwin amd64/arm64، freebsd 386/amd64/arm/arm64، linux 386/amd64/arm/arm64/loong64/ppc64le/riscv64/s390x، netbsd amd64، openbsd amd64/arm64، وwindows 386/amd64/arm64. يشمل المشروع اختبارات الوحدة والتكامل، والتي يمكن تشغيلها باستخدام الأمر `go test ./...`. المشروع مرخص بموجب رخصة MIT، ويمكن الإبلاغ عن ثغرات الأمان عن طريق إرسال بريد إلكتروني إلى support@pocketbase.io. لا يزال بوكيت باس قيد التطوير النشط؛ ولا تضمن التوافق التام مع الإصدارات السابقة قبل الوصول إلى الإصدار v1.0.0. أيضاً، وفقاً لمستودع المشروع، تم تعطيل طلبات السحب (pull requests) مؤقتاً بسبب رسائل البريد العشوائي الناتجة عن نماذج اللغات الكبيرة (LLM spam)؛ ويُطلب من المساهمين فتح مشكلة (issue) أو مناقشة مع رابط إلى نسخة fork الخاصة بهم بدلاً من ذلك.