السلام عليكم ورحمة الله وبركاته،
في الفترة الأخيرة ازدادت أعدات المستخدمين لتطبيق قرآن لينغو لتعلم القرآن بشكل متسارع، مما أوجد نحديات جديدة تتعلق بقابلية التوسع (Scalability) واستدامة البنية التقنية.
يعتمد التطبيق على تغذية خلفية Backend مربوطة بقاعدة بيانات MySQL واحدة مع استخدام Redis للتخزين المؤقت (Caching)، بالإضافة إلى بعض حلول الكاش على مستوى السحابة. ومع ذلك، ولكن بعض البيانات كبيانات المستخدم والتقدم في التعلم (والتي يتم تحديثها باستمرار) تظل عقبة للتوسع والفريق لا يملك الخبرة الكافية لتوسيع قواعد البيانات بشكل يضمن التوسع في قاعدة المستخدمين بشكل كبير - ملايين المستخدمية على سبيل المثال).
وأيضا فيما يتعلق ببنية نظام الترجمات، حيث نقوم حاليًا بتخزين الترجمات بصيغة JSON حسب اللغة (locale)، ولكن مع التوجه لدعم عدد كبير من اللغات (قد يصل إلى +100 لغة)، نعتقد أن هذا النموذج قد لا يكون الأنسب على المدى الطويل.
لذلك، أبحث عن نصائح أو توجيه من أصحاب الخبرة حول:
• أفضل الممارسات لتصميم بنية قابلة للتوسع للتعامل مع عدد كبير من المستخدمين
• تحسين أداء قواعد البيانات وعمليات البحث والاسترجاع فيما هو أبعد من مجرد Indexing أو Caching
• بنية مناسبة لإدارة الترجمات متعددة اللغات على نطاق واسع
إن كان لدى أحدكم الخبرة أو الاستعداد للمساهمة بالنصيحة أو حتى نقاش سريع، أكون شاكرًا جدًا.
جزاكم الله خيرًا وبارك في علمكم ونفع بكم الأمة،
والسلام عليكم ورحمة الله وبركاته 🌿