تفاصيل العمل

1 — نظرة عامة وهدف المشروع

بناء واجهة أمامية تفاعلية وحديثة لموقع ويب (SPA — Single Page Application) باستخدام React.js تتيح للمستخدمين التصفح، تسجيل الدخول، عرض عناصر/محتوى، وإدارة حساباتهم. الواجهة ستكون قابلة للتوسع، متجاوبة (responsive)، وسهلة الربط مع Backend (REST API أو GraphQL).

نوع المشروع النموذجي: منصة محتوى / متجر بسيط / لوحة إدارة مستخدم — الوصف قابل للتكييف.

2 — المتطلبات الوظيفية الأساسية

صفحة رئيسية تعرض محتوى مميز وكروت عناصر.

صفحات قوائم (listing) مع بحث، فلترة، وترقيم صفحات (pagination).

صفحة تفاصيل عنصر (detail).

تسجيل / تسجيل دخول / استعادة كلمة المرور.

لوحة مستخدم (Dashboard) تعرض بيانات المستخدم وإمكانية تعديل الملف الشخصي.

إدارة CRUD للعناصر (باستخدام واجهات API).

رفع صور/ملفات (واجهة لإرسال ملف إلى الخادم).

إشعارات (toasts) ومعالجة الأخطاء بشكل موحد.

حماية صفحات خاصة بالمستخدم (Protected Routes) حسب صلاحياته.

3 — تقنيات وأدوات مقترحة

React.js (Vite أو Create React App) — أنصح Vite لسرعته.

React Router (v6) للتنقل.

إدارة حالة: React Query (لـ data fetching + caching) + Context API أو Zustand/Redux فقط للحالة العالمية غير المتعلقة بالـ server (مثل theme، auth token).

استدعاءات HTTP: fetch API أو axios (مع طبقة services).

Styling: Tailwind CSS (سريع) أو CSS Modules / Styled Components حسب تفضيلك.

TypeScript (مقترح بشدة) لتحسين الجودة، لكن يمكن استخدام JavaScript إذا أردت.

اختبار: React Testing Library + Jest، وE2E: Cypress.

Linting/Formatting: ESLint + Prettier.

Build/CI: GitHub Actions.

نشر: Vercel / Netlify / Firebase Hosting.

4 — مبادئ تصميم واجهة المستخدم

تصميم Mobile-first ومتجاوب.

استخدام مكونات قابلة لإعادة الاستخدام (Buttons, Inputs, Cards, Modal, Toast).

تجربة مستخدم سلسة: skeleton loaders، lazy loading للصور، رسائل خطأ واضحة.

إمكانية التخصيص عبر Theme (فاتح/داكن).

التقنيات المطلوبة

HTML,CSS,Java Script

ملفات مرفقة

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
المهارات