Haithem Nini
رجوع إلى المدونة

26 سبتمبر 2026 · 5 دقيقة قراءة

ما تعلّمته من بناء Kounouz

Kounouz تطبيق إسلامي للقرآن والأذكار ومواقيت الصلاة. تعلّمت من بنائه أن الرواية يجب أن تكون جزءًا من أساس البيانات، لا تفصيلًا يُضاف لاحقًا.

Kounouz تطبيق إسلامي — قرآن، أذكار، مواقيت صلاة، اتجاه القبلة، سبحة رقمية. على الورق يبدو الأمر بسيطًا. تطبيقات مشابهة موجودة أصلًا. ما جعله أعقد مما توقعت كان تفصيلًا واحدًا: القرآن لا يُخزَّن بنفس الطريقة في كل مكان.

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

لماذا يغيّر هذا طريقة بناء قاعدة البيانات

الطريقة البسيطة لبناء هذا هي جدول واحد: رقم السورة، رقم الآية، النص. هذا يعمل جيدًا إلى أن تحتاج رواية ثانية. حينها تُحاصر بين خيارين — إما تكرار كل شيء، وهذا فوضوي وصعب المزامنة، أو إضافة أعمدة إضافية تُستخدم أحيانًا فقط. لا أحد من الخيارين حل جيد على المدى الطويل.

بدل ذلك، جعلت الرواية نفسها جزءًا أساسيًا من البنية منذ البداية. للآية هوية خاصة بها — أي سورة، أي رقم — منفصلة عن كيفية كتابتها ضمن رواية معيّنة. استغرق هذا وقتًا أطول مما توقعت في البداية، لكن لاحقًا، عندما أضفت عدة قرّاء للتلاوة الصوتية، كانت البنية جاهزة لذلك دون الحاجة لإعادة بنائها.

تفصيل صغير كان أهم مما ظننت

يستخدم التطبيق أيضًا ميزة iOS Live Activities — التحديثات الصغيرة التي تراها على شاشة القفل أو في Dynamic Island، تُستخدم هنا لأشياء مثل عدّاد تنازلي لوقت الصلاة.

في البداية، افترضت أن نسخة شاشة القفل ونسخة Dynamic Island يجب أن تعملا بنفس الطريقة، فقط بعرض مختلف. بعد اختبار الأمر على هاتف حقيقي، تبيّن أن هذا افتراض خاطئ. الناس يستخدمون الاثنين في مواقف مختلفة — قد يريد شخص أن يرى العدّاد دائمًا على شاشة القفل، لكنه يجده مزعجًا في Dynamic Island خلال النهار. لذلك جعلتهما إعدادين منفصلين بدل مفتاح واحد. أمر بسيط، لكنه جاء مباشرة من ملاحظة كيف يستخدم الناس هواتفهم فعليًا، وليس من أي مواصفة مكتوبة مسبقًا.

ما يعمل جيدًا

Kounouz منشور الآن على App Store وGoogle Play. طريقة تنظيمي لبيانات القرآن أثبتت نجاحها — لم أحتج لإعادة تصميمها منذ الإطلاق، وهذه عادة علامة جيدة.

الدرس الأكبر من هذا المشروع لم يكن عن تطبيقات القرآن تحديدًا. هو أن القرارات التي لا يراها أحد — كيفية تنظيم البيانات في الخلفية — هي عادة مكان الصعوبة الحقيقية. بناء واجهة جميلة هو الجزء السهل. أما بناء أساس صحيح للأشخاص الذين يستخدمونه فعليًا، فهذا ما يتطلب تفكيرًا حقيقيًا.

Haithem Nini بنى Kounouz، تطبيق إسلامي يشمل قراءة القرآن، الأذكار، مواقيت الصلاة، اتجاه القبلة، والسبحة الرقمية، منشور على App Store وGoogle Play.

FlutterPostgreSQLiOS

عندك مشروع مشابه؟

أخبرني بالمشروع الذي تعمل عليه وبالنتيجة التي تريدها.