هذا المشروع عبارة عن API خلفية (Backend) لمنصة "PC Builder" متخصصة في حساب "عنق الزجاجة" (Bottleneck) وإدارة تجميعات الكمبيوتر.
تفاصيل العمل
1. التوصيف العام للمشروع المشروع هو نظام خلفي مبني باستخدام Node.js و Express، ويعتمد بشكل كلي على Supabase كقاعدة بيانات (PostgreSQL) ونظام للمصادقة (Auth). الهدف الأساسي هو مساعدة المستخدمين على اختيار قطع كمبيوتر متوافقة وحساب كفاءة الأداء بين المعالج وكارت الشاشة. 2. المكدس التقني (Tech Stack) Runtime: Node.js. Framework: Express.js. Database: Supabase / PostgreSQL. Authentication: Supabase Auth (JWT). Security: Helmet: لحماية رؤوس (Headers) طلبات HTTP. CORS: للسماح للمتصفحات بالتواصل مع الـ API. Rate Limiting: لمنع الهجمات وإساءة استخدام الـ API (بحد أقصى 100 طلب كل 15 دقيقة لكل IP). Logging: مكتبة Winston لتسجيل العمليات والأخطاء. 3. المميزات الوظيفية (Key Features) حاسبة عنق الزجاجة (Bottleneck Calculator): مقارنة أداء المعالج (CPU)، كارت الشاشة (GPU)، والرامات (RAM). فحص التوافق (Compatibility Filtering): التأكد من توافق المقبس (Socket) بين المعالج واللوحة الأم، وتوافق نوع الذاكرة (DDR4/DDR5). إدارة التجميعات (Build Management): حفظ، استعراض، وحذف تجميعات المستخدمين المسجلين. نظام المصادقة (Auth System): دعم التسجيل، تسجيل الدخول، وتجديد الرمز (Token Refresh). 4. هيكلة الـ API (Endpoints) النظام مقسم إلى عدة مسارات أساسية: الحسابات: /api/v1/calculate و /api/v1/history. المكونات: /api/components للحصول على القطع وفلترتها حسب التوافق. المصادقة: /api/auth/signup, /api/auth/login, /api/auth/me. التجميعات: /api/builds لإدارة تجميعاتك الخاصة. 5. إعدادات البيئة والنشر ملفات البيئة (.env): يتطلب المشروع SUPABASE_URL و SUPABASE_SERVICE_KEY للعمل. التجاهل (.gitignore): يتم تجاهل ملفات البيئة والمجلدات المؤقتة مثل node_modules لضمان الأمان. النشر (Deployment): المشروع مهيأ للنشر على منصة Vercel كـ Serverless Functions من خلال ملف vercel.json الذي يدير توجيه المسارات وطلبات الـ CORS. 6. أوامر التشغيل الأساسية تثبيت المكتبات: npm install. التشغيل في وضع التطوير: npm run dev (يستخدم nodemon لإعادة التشغيل تلقائياً). التشغيل الفعلي: npm start.
بطاقة العمل
طلب عمل مماثل