منذ فترة طويلة تحدثت كثيراً عن هذا الموقع الذي عملت عليه كنوع من التجربة وبنيته على أحد السكريبتات البائدة ومن ثم تخليت عنه جزئياً لانه لا أمل منه تقريباً.

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

في الأشهر القليلة الماضية، أو الكثيرة إن كنت تعد نصف سنة تقريباً فترة طويلة، كنت قد نسيت أمر الموقع تماماً، حتى قبل بضعة أيام دفعت تكاليف الاستضافة والنطاق، وكانت المفاجأة الأولى.

وصلني بريد إلكتروني من شركة أجنبية ترغب بشراء الموقع، بحسب ما فهمت منهم أن الموقع مسيطر على كلمات بحث مهمة في مجال الكتب الالكترونية وهم يبحثون عن مشروع مشابه لشرائه، بعض الاستشارات وارسال الارقام الخاصة بالموقع لأحد الاصدقاء المهتمين، سعر الموقع 20 الف دولار تقريباً، ومن المفترض ان يكون الدخل منه حوالي الألف دولار شهرياً؟ كيف؟ لم افهم تماماً ما يقوله. بدأ الموقع من جديد بجذب انتباهي لأعمل عليه.

النقاش مع الشركة التي ترغب بالشراء انتهى عندما عرفوا أنني لم استثمر الموقع بشكل صحيح، ولم يرغبوا بشراء موقع لا يمتلك سياسة ربحية، كلام عادل ومنطقي وهنا بدأت الرحلة.


إعادة هيكلة الباك إند:

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

حل مشكلة اللغة العربية في قاعدة البيانات:

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

قم بتحويل الاتصال والكوليشن في قاعدة البيانات الى ترميز UTF ومن ثم اضف هذا الكود بعد امر الاتصال بالقاعدة في ملف الاتصال

$db->query("SET NAMES 'utf8'");

$db->query("SET CHARACTER SET 'utf8'");

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

اعادة هيكلة الفرونت اند

انا فاشل تصميمياً وأعلم ذلك، ولكن هذا لم يمنعني من تجربة جعل الموقع قابلاً للاستخدام على الاقل. وهذه كانت الخدعة التي استخدمتها لفعل ذلك رغم خبراتي التصميمية المعدومة.

استعنت بأحد الاصدقاء المهتمين، غير الخبيرين بالتصميم، ومن ثم عرضت عليه بعض التعديلات في الواجهة، وهو أخبرني أين لم يشعر بالراحة، الشريط الجانبي انتقل من اليمين لليسار، قائمة التصفح من الشريط الجانبي للأعلى، القائمة العلوية انتقلت لليسار والشعار للوسط، ومربع البحث أصبح تصميمه افضل، بينما لم يعجبه أسلوب عرض الكتب في أي حال، ولم يعجبني أنا، ولكنه كاف حتى اللحظة.

اعادة الهيكلة

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

الاقسام الثلاثة الناتجة عن التقسيم الجديد كانت الكتب العربية والكتب المترجمة وقسم للمؤلفين والكتاب. القسمين الاول والثاني للكتب التي لا يوجد لكاتبها سوى كتاب او اثنين، بينما قسم المؤلفين والكتب للمؤلفين الذين يمتلكون عددا كبيراً من المؤلفات.

قانونياً

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

لا يوجد أي كتاب محفوظ على استضافة الموقع لذا لا يمكن القول أن الموقع يخالف القوانين فعلاً.


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

هذه كانت تجربتي في العمل على أحد المشاريع التي ظننت أنه لا أمل منها. أتمنى أن تفيد أحدهم في مكان ما.