هذا مشروع تقييم تم تطويره في وحدة BackEnd من دورة تطوير الويب في Trybe. استخدم المشروع Typescript و Sequelize و JWT. خلال التطوير، تم تعزيز مجموعة من المهارات:
- معالجة الاختبارات
- استخدام بنية MSC (النموذج-الخدمة-المراقب)
- إنشاء مسارات لإنشاء، قراءة وتحديث المعلومات
- مصادقة المسارات
يتضمن هذا المشروع إنشاء متجر لبيع العناصر المتوسطة باستخدام Typescript و Sequelize. كان التركيز الرئيسي على تطوير طبقات Service و Controllers.
- Node.js
- Express
- Typescript
- Sequelize
- MySQL
- JWT (JSON Web Token)
- Docker و Docker Compose
تم هيكلة المشروع وفقًا لبنية MSC، حيث يتم فصل المسؤوليات بين النموذج والخدمة والمراقب. وفيما يلي بعض المسارات الرئيسية التي تم تنفيذها:
- POST /login: تسجيل دخول المستخدم.
- POST /products: إضافة منتج جديد (التحقق من الاسم والسعر).
- GET /products: إرجاع جميع المنتجات المسجلة.
- GET /orders: إرجاع جميع الطلبات المسجلة.
- POST /orders: إنشاء طلب جديد (التحقق من JWT، ID المستخدم و ID المنتج).
يستخدم المشروع العديد من البرمجيات الوسيطة للتحقق، بما في ذلك:
validateProducts
: التحقق من بيانات المنتج (الاسم والسعر).validateUser
: التحقق من بيانات المستخدم.validateProductById
: التحقق من وجود المنتج باستخدام ID.validateJWT
: التحقق من رمز JWT لمصادقة الدخول.
لتشغيل المشروع، يرجى اتباع الخطوات التالية:
- تثبيت Docker و Docker Compose.
- تثبيت Node.js (اختياري، إذا كنت ترغب في التشغيل محليًا بدون Docker).
-
استنساخ المستودع:
git clone https://github.com/seu_usuario/trybe-smith.git cd trybe-smith
-
إنشاء ملف
.env
في جذر المشروع مع المتغيرات البيئية التالية:DB_USER=root DB_PASSWORD=password DB_HOST=db DB_PORT=3306 DB_NAME=Trybesmith JWT_SECRET=secret
-
تشغيل Docker Compose لبناء وبدء الحاويات:
docker-compose up --build
-
الوصول إلى واجهة برمجة التطبيقات في المتصفح أو أداة API (مثل Postman) على
http://localhost:3001
.