[مدفوع] منصة مجتمع Discord - تطوير الإصدار 2

مرحباً — أنا أبحث عن مطور Discourse خبير لمساعدتي في إعداد منصتي المجتمعية للإطلاق. النسخة موجودة بالفعل وتعمل، مع وجود سمة مخصصة (core.scss, nav.scss, nav.js)، لذا فإن الأمر لا يتعلق ببناء من الصفر، بل بإتقان التفاصيل.

ملاحظة: ملفات السمة الحالية تقتصر على طبقة التصميم فقط (الألوان، الخطوط، حقن القائمة) ولا تتضمن تجاوزات لقوالب هيكلية. لم يتم تعديل أي قوالب أساسية في Discourse.

أنا مستعد لتلقي عروض أسعار ثابتة مع هيكل دفع مقسم حسب مراحل الإنجاز.

إليك ما أحتاجه:

السمة الحالية
توجد بالفعل سمة مخصصة كاملة تدعم الوضع الفاتح والداكن، وقائمة مخصصة تقوم بإخفاء رأس الصفحة الافتراضي في Discourse، مع ألوان العلامة التجارية. يجب أن تظهر القائمة بشكل متسق على جميع أنواع الصفحات، بما في ذلك ملف العضو، وأحتاج إلى شخص يقوم بمراجعة وإصلاح أي عناصر تعود إلى الإعدادات الافتراضية لـ Discourse. كما يجب استبدال الشعار (سيتم توفير الملف).

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

تحتاج الصفحة أيضًا إلى لوحة “الحسابات المتصلة” حيث يمكن للأعضاء المصادقة عبر Discord و Facebook OAuth. عند المصادقة الناجحة، يتم كتابة معرف المنصة واسم المستخدم الخاصين بهم مرة أخرى إلى Supabase (سيتم توفير بيانات الاعتماد والمخطط). لقد قمت بإعداد تطبيقات OAuth، وأحتاج فقط إلى مكون جانب Discourse ومنطق استدعاء الربط (callback) ليعمل بسلاسة.

اللغة والترجمة
المجتمع دولي لذا فإن هذا الأمر بالغ الأهمية. عندما يختار العضو لغته المفضلة (الإنجليزية، التايلاندية، التشيكية، الهولندية، الألمانية، الإنجليزية النيوزيلندية)، أريد أن يتحول واجهة Discourse بالكامل — القوائم، الإشعارات، رسائل النظام، كل شيء. عند الزيارة الأولى، قم باكتشاف بلدهم من عنوان IP واطلب منهم التأكيد. أحتاج أيضًا إلى تثبيت وتكوين إضافة Discourse Translator باستخدام مفتاح API من DeepL (سيتم توفيره)، مع تفعيل أزرار ترجمة المنشور لكل منشور، وتخزين الترجمات مقابل معرف المنشور لتقليل تكاليف API. يجب أن تظهر الصفحات الثابتة، بما في ذلك بوابة العضو (التي يجب أن تكون قابلة للوصول عبر أزرار Discourse الأصلية أيضًا)، باللغة المحددة.

مستويات الثقة، المجموعات، وتكامل Tally
سيكون هيكل التصنيفات جاهزًا قبل أن تبدأ. ما أحتاجه هو ربط تكوين مستويات الثقة والمجموعات بشكل صحيح، بحيث يتم تعيين أنواع الأعضاء (مالك، عضو، تاجر) عند التسجيل، وتُربط المجموعات بصلاحيات التصنيفات المناسبة، ويتم مزامنة أي تغييرات مع Supabase. أحتاج أيضًا إلى تعريض discourse_user_id و discourse_username كمعلمات URL لنماذج Tally المدمجة حتى يمكن التقاطها كحقول ملء تلقائي مخفية.

بوابة التحقق من DVLA
يجب أن يكون التصنيف المخصص للملاك فقط محميًا وراء تحقق من المركبة. عندما يحاول عضو غير محقق الوصول إليه، تظهر له رسالة تطلب منه إدخال رقم التسجيل. أنا أقوم ببناء نقطة نهاية التحقق بنفسي (Cloud Run، REST — موثقة بالكامل ومقدمة) لذا فإن نطاق عملك هنا يقتصر على مكون السمة في Discourse: شاشة الهبوط المحمية، ونموذج إدخال VRM، وحالات النجاح/الفشل. أحتاج إلى شخص مرتاح للتعامل مع مكونات السمة المبنية على Ember في Discourse لهذا الجزء تحديدًا.

موضوع XCombo
مكون آخر: موضوع واحد في Discourse يعمل كمصدر مرجعي ومساحة نقاش لمجموعة بيانات أحتفظ بها. أول منشور مثبت ويحتوي على أداة بحث مدمجة (تقوم بتصفية البيانات في الوقت الفعلي من جدول Supabase)، وزر “أرسل لي القائمة الكاملة عبر البريد الإلكتروني” (يتصل بنقطة نهاية مقدمة، ويقوم Resend بإرسال ملف PDF إلى عنوان العضو المسجل)، ورابط ينزل إلى خيط النقاش المفتوح أدناه. مرة أخرى، منطق البحث، نقطة النهاية، وتكامل Resend كلها مقدمة — أنت تقوم فقط بربط الحاوية في جانب Discourse. هذا يعطيك أيضًا فكرة عن تدفق العضو الكامل: البوابة → رابط المورد → الموضوع → البحث → البريد الإلكتروني.

سأوفر جميع الأصول، وبيانات الاعتماد، والوصول إلى Supabase، والوثائق عند منح العقد. مستعد لمناقشة التفاصيل إذا لزم الأمر. يرجى إخباري بخبرتك في تكاملات OAuth في Discourse تحديدًا، وما إذا كنت قد عملت سابقًا مع مكونات السمة المبنية على Ember.

شكرًا جزيلاً

تم التعديل للوضوح

إعجاب واحد (1)

مرحبًا @larrybmb

هذا ليس مشروعًا صغيرًا حقًا، ويبدو أن تكوين استبدال الرأس المذكور هش بناءً على الوصف. ستحتاج إلى التأكد من إمكانية تحديث منتداك مع آخر تحديثات Discourse (بجهد أو إصلاحات محدودة).

إذن هل هذا المبلغ 250 لكل دفعة؟

4 إعجابات

هل لكل مرحلة إنجاز أم لكل ساعة؟

3 إعجابات

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

بخصوص ملاحظتك حول استبدال الرأس: لا أطلب أي عمل هيكلي؛ فالقالب الحالي لا يستبدل أيًا من قوالب Discourse الأساسية. إنه مكون قالب يقوم بحقن شريط تنقل مخصص عبر JavaScript، مع الربط بحدث discourse:ready وأحداث تغيير الصفحة. يمكنني تأكيد أنه يعمل وقد نجح على الأقل خلال تحديثي Discourse السابقين. المطلوب ببساطة هو التأكد من ظهوره بشكل صحيح عبر جميع أنواع الصفحات وإصلاح أي ثغرات. يجب أن يكون آمنًا للتحديث كما هو، لكنني مستعد لمراجعة ذلك كجزء من المرحلة الأولى (M1).

أتمنى أن يكون ذلك مفيدًا.

إعجاب واحد (1)

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

إنها وظيفة تكلف على الأقل 2500 دولار، ولكن ربما ضعف ذلك. ربما تكلف 500 دولار فقط لتحديد ما تريد أن يفعله موضوعك الحالي وإعادة كتابته وفقًا لمعايير discourse.

حظًا موفقًا.

4 إعجابات

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

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

شكرًا جزيلًا لكم جميعًا على تعليقاتكم — نقدرها حقًا. قمتُ بتعديل منشوري بناءً على التعليقات ولتوفير بعض الوضوح.

وتتمثل النقطة الرئيسية في ما يلي:

ملفات السمة الحالية تقتصر على طبقة التصميم فقط (الألوان، الخطوط، حقن شريط التنقل) وليست استبدالًا لقوالب هيكلية. لم يتم تعديل أي قوالب أساسية في Discourse. لا أطلب أي تغييرات هيكلية، بل أطلب فقط نظرة سريعة لتحديد أي فجوات في واجهة المستخدم وإبداء الملاحظات.

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

بدون نطاق عمل واضح، هذا الأمر يبدو غير محدد بما يكفي لتحديد سعر ثابت، ولكن بناءً على قراءة التعليقات، سأقدّر المبلغ في نطاق 5000-8000 دولار على الأقل. ربما يكون أقل إذا اتفقنا على مواصفات محددة، لكن هذا المبلغ أعلى بكثير من عرضك البالغ 250 دولارًا. يمكنك العثور على معلومات الاتصال الخاصة بي في ملفي الشخصي إذا كنت ترغب في مناقشة الأمر بشكل أكثر تفصيلاً.

إعجابَين (2)

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

إعجاب واحد (1)

للتوضيح، أقترح أن الملفات core.scss و nav.scss و nav.js ليست أسماء ملفات أتوقع رؤيتها في مظهر من مظاهر Discourse أو مكون من مكوناته، لذا فإن احتمال أن يكون ما قمت به صعب الصيانة أو غير متوافق مع العناصر الأخرى التي تطلبها مرتفع جدًا. القول بأن “لم يتم تعديل أي قوالب أساسية من Discourse” يوحي بأنك لم تتبع معايير برمجة Discourse.

إعجابَين (2)

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

للتوضيح، تم تزويدي بملفات التنفيذ، وقمت بإضافتها عبر تبويبات الرأس و JavaScript و CSS في لوحة الإدارة — لذا، لا، أعتقد في الواقع أنها ليست مكون تصميم منظم بالمعنى الدقيق.

أقدر ملاحظاتك.

إعجاب واحد (1)

لكنك لا تريد البناء على أساس معطوب.

إذا كان هذا هو نهاية المهمة وكنت هاويًا، فربما يكون ذلك مقبولاً.

إعجاب واحد (1)

لا أقول إن هذا هو الحال هنا، لكنني سمعت حالات متزايدة لشهادات مطورين طُلب منهم التطوير من أو إصلاح أكواد “vibe-code” فاشلة كُتبت على يد ما يُسمى بالمطورين الذين ربما لا يعرفون الكثير عن البرمجة. على أي حال، سأكون حذرًا من ذلك.

3 إعجابات

@pfaffman

شكرًا لك على النصيحة — يسعدني مشاركة الملفات بشكل خاص إذا كنت مهتمًا بالنظر فيها. لست هاويًا، بل شركة ناشئة في مجال متخصص بالسيارات؛ خطوط الأنابيب الخلفية لدي متينة وقد خضعت لمراجعة معمارية وأمنية. وهي مستضافة على GCP، بينما نسخة Discourse مستضافة سحابيًا على Hostinger.

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

دعني أفكر بصوت عالٍ للحظة، إذا سمحت. هل أحتاج حقًا إلى OAuth مخصص لحالة الاستخدام الخاصة بي؟

ربما تعمل الحسابات المتصلة الأصلية إذا تم جلبها إلى صفحة ملف العضو، بشرط تعديل النصوص؟ (على سبيل المثال: أود معرفة ما إذا كان “جو بلوغز” في مجتمعي هو نفس “جو بلوغز” الذي يتفاعل مع مجتمعي على فيسبوك (أستخرج معرف فيسبوك عبر تطبيق مطوري فيسبوك) - لذا، إذا كان هذا هو المعرف المستخدم نفسه (وأعتقد أنه كذلك)، فيمكن أن يعمل مع بعض العلامات التجارية المخصصة حوله (ليبدو جزءًا متكاملًا من الموقع)؟

أرحب بأي آراء.