تخطَّ إلى المحتوى
الحالة 02منصة متعددة المستأجرين

نظام إدارة كنائس أُعيد بناؤه كمنصة SaaS متعددة المستأجرين — قاعدة بيانات منفصلة لكل جهة، لوحة تحكم خاصة بها، وقصة استعادة تم اختبارها فعلاً.

الدور
المعمارية والتنفيذ الكامل
التعددية
قاعدة بيانات لكل جهة
منشور لـ
6,400 عضو
الحالة
تعمل في الإنتاج
raeetna.app / dashboard
Members
6,400
Households
1,900
Families
1,018
Attendance59ms
Tenants
st-mark.raeetna.appok
st-george.raeetna.appok
st-mary.raeetna.appok
st-antony.raeetna.appok
st-bishoy.raeetna.appok
st-takla.raeetna.appok
db per tenant
معاينة الواجهة2025

المشكلة

كنيسة واحدة، آلاف الأشخاص، وسجلات محفوظة بطريقة لا يستطيع أحد الاستعلام عنها: أسر، عائلات، خدمات، وتاريخ رعوي. النسخة الأولى كانت تعمل لجهة واحدة — لكن كل كنيسة جديدة تعني نسخة أخرى تُنشر، وقاعدة بيانات أخرى تُعتنى بها، وبلا طريقة آمنة لمشاركة نفس الكود بينها.

وكان عليه أيضاً أن يكون سريعاً بما يكفي للاستخدام اليومي وجديراً بالثقة مع بيانات شخصية حساسة. اللوحة التي تستغرق خمس ثوانٍ يهجرها الناس؛ والنسخة الاحتياطية التي لم يجرّب أحد استعادتها ليست نسخة احتياطية.

المعمارية

قاعدة بيانات لكل مستأجر، مع لوحة تحكم

كل كنيسة لها قاعدة بياناتها؛ ولوحة تحكم مستقلة تملك التفعيل وسجلات المستأجرين وحالة المنصة. العزل هنا بنيوي، لا شرط WHERE قد ينساه أحد.

تحديد المستأجر من نطاق الطلب

النطاق في الطلب الوارد يحدد أي اتصال مستأجر يُستخدم، مما يجعل النطاق المخصص لكل كنيسة خطوة إعداد لا تعديلاً في الكود.

نسخ احتياطية عند مزود ثانٍ

نسخ مستقلة محفوظة بعيداً عن البنية الأساسية، حتى لا يعني فقدان حساب أو منطقة فقدان البيانات.

الاستعادة مُجرَّبة لا مُفترضة

تم تنفيذ استعادة كاملة من الطرف إلى الطرف: 23,717 مستنداً عادت سليمة، بصفر أخطاء. والتجربة قابلة للتكرار، وهذا وحده سبب الثقة بها.

جعله سريعاً

عمل الأداء كان مقاساً لا مُخمَّناً. التحليلات خلف اللوحة كانت أسوأ المتسببين — تجميعات تقوم بعمل أكبر بكثير مما تحتاجه الإجابة.

استعلامات التحليلات الأساسية1,675ms59ms
تحميل اللوحة5.3s3.5s
اختبار الاستعادة23,717 مستنداً0 أخطاء
0
عضو
0
أسرة
0
عائلة
أسرع في التحليلات
raeetna.app / dashboard
Members
6,400
Households
1,900
Families
1,018
Attendance59ms
Tenants
st-mark.raeetna.appok
st-george.raeetna.appok
st-mary.raeetna.appok
db per tenant
raeetna.app / household
Record
restore drill23,717 / 0 fail
التقنياتNode.jsMongoDBReactقاعدة لكل مستأجرنسخ خارجيةنطاقات مخصصة
الحالة التالية
JoSam Content Hub
النشر إلى أربع منصات من مكان واحد