برمجة وتصميم موقع للبحث ولتصفح كاتالوج منتجات مع مشاهدة أسعار الموردين

وصف المشروع

مقدمة:

المشروع هو موقع يتيح للمستخدمين من رؤية قائمة كتالوج لمنتجات متعددة مع الأسعار من موردين متعددين. يتيح الموقع أيضاً البحث عن المنتجات و تحديد خيارات المنتجات ويجب تحديث قائمة الموردين مع أسعارهم بعد تحديد خيارات المنتجات.

التكنولوجيا التي سوف تستخدمها هي:

JavaScript مع إطار عمل Qwik مع Qwik City باستخدام Typescript.

Tailwind للتصاميم.

يوجد API جاهز للاستخدام.

البحث و الفلترة باستخدام OpenSearch

ملاحظات مهمة:

- لا أتوقع أن تكون ذو خبرة جيدة في Qwik يكفي أنك على دراية بالمفهوم العام مثل NextJS قبل التقدم للمشروع.

- لا أتوقع منك ترجمة النصوص من العربية الى الانجليزية و لا يهمني المحتوى النصي المكتوب. ما يهمني هو إتاحة الآلية لجعل الموقع يعمل باللغتين بشكل جيد. تعبئة النصوص ليست وظيفتك.

- لا أتوقع منك كتابة اختبارات للأكواد و لكن أتوقع أن لايكون هناك أي مشاكل متعلقة ب ال Build و تسليم المهام مطابق للغرض المتفق عليه.

- ما يهمني هو مخرجاتك.

- المشروع مقسم الى متطلبات صغيرة و محدودة يسهل العمل عليها لقياس المخرجات.

- لا تتوانى بطلب أي شرح إضافي من قبلي لكي تقيم الكلفة و الوقت بشكل أفضل.

NodeJS, React, CSS3, HTML5

قوالب الصفحات و ال Routing:

يجب إنشاء جميع الصفحات أدناه بواسطة Layout مستقل خاص بها:

1. الصفحة الرئيسية.

2. صفحة تفاصيل المنتج من خلال ال slug و ال ID. لللغتين.

3. صفحة نتائج البحث أو التصفح مع أو بدون query parameters.

4. صفحات الخصوصية + الشروط SSG.

5. يتم تطبيق ال Navigation bar وال Footer لكافة الصفحات أعلاه.

تفاصيل الصفحات:

الصفحة الرئيسية:

تعمل بالنمطين: SSR + CSR

1. العنوان مع صورة توضيحية.

2. البحث عن المنتجات مع المقترحات باستخدام Elastic API. *****راجع قسم التكامل للتفاصيل.

3. إدراج بطاقات المنتجات مع scroll أفقي.

4. إدراج بطاقات العلامات التجارية مع scroll أفقي.

5. إدراج بطاقات التصنيفات مع scroll أفقي.

صفحة تفاصيل المنتج:

تعمل بالنمطين: SSR + CSR

1. صورة المنتج (عرض صورة واحدة بدون أي وظيفة).

2. اسم المنتج.

3. موديل المنتج.

4. اسم التصنيف (مع إعادة التوجيه إلى نتائج البحث عند النقر).

5. اسم العلامة التجارية (مع إعادة التوجيه إلى نتائج البحث عند النقر).

6. زر مشاركة الصفحة.

7. قسم خيارات المنتج (عند النقر عليه سيتم استدعاء API).

8. قسم الموردين مع الأسعار وروابط الشراء CSR.

9. ثلاثة أنماط (بلوكات) لجوجل ادسنس.

ملاحظات:

سيتم الحصول على قسم خيارات المنتج و الموردين من استدعاء API endpoint

يجب عمل hashing لل URL عند تغيير المتغيرات و عند قيام المستخدم بمشاركة صفحة المنتج.

صفحة نتائج البحث:

تعمل بالنمطين: CSR + SSR

1. حقل نصي للبحث.

2. قسم للفلاتر الديناميكية و الثابتة.

3. قسم بطاقات المنتجات (نتائج البحث).

4. ال pagination أو load more لإظهار النتائج من الصفحات التالية.

الوظائف المتعلقة بالمستخدم:

1. رؤية مسارات التنقل ال breadcrumbs أعلى الصفحة.

2. البحث عن المنتجات باستخدام الفلاتر وتحميل المزيد من النتائج عند الضغط على زر المزيد pagination.

3. مشاركة صفحة تفاصيل المنتج عبر أي منصة تواصل اجتماعي مع رسالة مخصصة مسبقاً.

4. إمكانية حفظ موقع الويب كتطبيق يشبه تطبيقات الهواتف الذكية.

5. أيقونات الموقع مجهزة و متوافقة مع كل المتصفحات المختلفة.

6. موقع ويب Responsive يناسب جميع الشاشات.

الوظائف المتعلقة بإدارة الموقع:

1. صفحات صديقة لمحركات البحث (SEO).

2. البيانات التعريفية JSON-LD + OG على الصفحات المتعلقة بتفاصيل المنتج.

3. إنشاء ملف خاص لتغيير جميع الألوان المستخدمة في الموقع بسهولة.

التكامل:

1. Google AdSense يجب تعريفه على شكل Component مخصصة لكل نمط (٣ أنماط كحد أقصى).

2. InstantSearch Components (على غرار البحث الفوري في Algolia). يتوفر SDK للتعامل مها و يتوفر API أيضاً.

طبيعة العمل:

git لدفع تحديثات المشروع. لكل متطلب PR منفصل.

تم إعداد بيئة التطوير مسبقاً حتى نتمكن أنا وأنت من رؤية وتقييم عمليات التسليم على خادم مباشر.

Trello لإدارة المشاريع.

منصة مستقل للتواصل.

نمط الكود:

1. يجب تنفيذ كافة واجهات المستخدم ك Components مخصصة و متوافقة مع الوضع اليلي.

2. يجب أن يكون الموقع ثنائي اللغة عربي / انجليزي.

4. يجب إضافة أي اعدادات عامة إلى .env.

5. يجب إنشاء أي hooks مخصصة قابلة لإعادة الاستدعاء.

6. يجب استدعاء كافة ال Requests الخاصة ب ال (API) من مصدر واحد.

7. يجب تعريف جميع البيانات بشكل Types or Interfaces لا يُسمح بأي نوع "any" في الكود.

8. أي باكجات خارجية Packages NPM غير معروفة أو غير مشهورة لن يتم إعتمادها بالمشروع. كلما كانت أقل كان أفضل.

العروض المقدمة

السلام عليكم أستاذ أحمد، أنا مطور ويب ولدي خبرة 3 سنوات في تطوير المواقع باستخدام تقنيات مثل Laravel، Node.js، React، وNext.js. قرأت متطلبات مشروعك بعناية وأستط...

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

السلام عليكم ورحمه الله وبركاته بنسبال خبرتي المتواضعة mren stack استطيع انشاء مشروعك من fremawork Express js api backend node js باستخدام في front end react js...

أنا full stack و كل المتطلبات متاحة عندي تقدر تشوف معرض اعمالي و في الميتنج هبعتلك لينك ال GitHub عشان تشوف اني. بكتب clean code و بقدم لو في اي تعديل أو إضافة ...

السلام عليكم أستاذ بصفتي مطور ويب (MERN Stack Developer) ولدي خبرة تزيد عن أربع سنوات في تطوير الويب بشقيه سواء الواجهات الأمامية أو الخلفية، ولدي خبرة واستعة ف...

مرحبا اخي انا مهندسه برمجيات واعمل في تصميم المواقع الالكترونيه منذ 3 سنوات وسوف انفذ المطلوب بطريقه احترافيه راسلني

قبولك لهذا العرض يعتبر اتفاقاً بينك وبين المستقل وسيبقى موقع مستقل وسيطاً بينكما حتى تسليم المشروع. لن تتمكن من تغيير العرض أو إلغائه لاحقًا لذلك تأكد من اختيارك للعرض المناسب باتّباع النصائح التالية:

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

المستقل غير متاح لاستلام مشاريع، يمكنك ارسال تنبيه له لقبول العرض وإعادة المحاولة بعد بضعة ساعات، أو اختيار عرضاً من مستقل آخر.