Agelgil Primer Healthy Recipe Hub هو منصة سهلة الاستخدام تمكن الأشخاص الذين لديهم مجموعة من المتطلبات الغذائية للعثور على مكتبة واسعة من العروض محلية الصنع مع توصيات وصفة مخصصة بناءً على الاحتياجات الغذائية الفردية والظروف الصحية.
لتشغيل هذا المشروع ، ستحتاج إلى إضافة متغيرات البيئة التالية إلى ملف .env الخاص بك على /api/.env. Budapevelopment | إنتاج]
بحاجة إلى إضافة .env.development لتشغيل محليًا
تحتاج إلى إضافة .env.production للإنتاج
DATABASE_URL : يخزن متغير البيئة هذا سلسلة الاتصال بقاعدة بيانات MONGODB الخاصة بك. على سبيل المثال ، قد يشير إلى مجموعة MongoDB Atlas (على سبيل المثال ، mongodb+srv://<username>:<password>@cluster0.mongodb.net/myDatabase ) أو مثيل MongoDB المحلي لأغراض التطوير.
MONGOMS_SYSTEM_BINARY : يحدد هذا المتغير المسار إلى نظام MongoDB الثنائي (على سبيل المثال ، mongod.exe ). يتم استخدامه بشكل أساسي في سيناريوهات الاختبار التي تتطلب mongoDB ، خاصة عند استخدام إصدارات مثل MongoDB V6.0.9 .
APP_PORT : رقم المنفذ الذي سيتم تشغيل التطبيق الخاص بك. على سبيل المثال ، في بيئة محلية ، يمكن ضبط ذلك على 3000 لتطبيق Node.js أو أي رقم منفذ آخر اعتمادًا على تكوين الخادم.
REDIS_URL : سلسلة اتصال لخادم redis الخاص بك. يتم استخدام redis عادة للتخزين المؤقت ووظائف الوقت الفعلي. على سبيل المثال ، redis://localhost:6379 للحصول على مثيل محلي أو redis://<username>:<password>@redis.cloudprovider.com:6379 لخدمة Redis المستندة إلى مجموعة النظراء.
USER_SECRET ، MODERATOR_SECRET ، CONTROLLER_SECRET : هذه هي مفاتيح JWT (JWST Web Token) المستخدمة لتوقيع الرموز والتحقق من أدوار مختلفة داخل تطبيقك. كل دور (المستخدم ، المشرف ، ووحدة التحكم) له سره الخاص للأمان.
USER_REfRESH_SECRET ، MODERATOR_REfRESH_SECRET ، CONTROLLER_REfRESH_SECRET : يتم استخدام هذه الأسرار خصيصًا لإنشاء رموز تحديث ، والتي تسمح للمستخدمين بالحصول على رموز وصول جديدة دون إعادة التدوير.
CALORIENINJAS_API_KEY : يسمح هذا المفتاح بالوصول إلى API Calorieninjas
CIPHERIV_SECRET_KEY : مفتاح يستخدم لتشفير وفك تشفير الروابط القابلة للمشاركة الحساسة
SHAREABLE_LINK_BASE_URL : يحدد هذا المتغير عنوان URL الأساسي المستخدم لإنشاء روابط قابلة للمشاركة في تطبيقك (على سبيل المثال ، http://myapp.com/page?id=1 )
DATASAX_ASTRA_TOKEN : الرمز المميز المستخدم للمصادقة مع قاعدة بيانات DataStax Astra. DATASAX_ASTRA_DB_NAME : اسم قاعدة البيانات التي تستخدمها على DataStax Astra. DATASAX_ASTRA_API_Endpoint : نقطة نهاية API للتواصل مع DataStax Astra (على سبيل المثال ، https://<database-id>-<region>.apps.astra.datastax.com ).
NEO4J_URL : عنوان URL للاتصال إلى مثيل قاعدة بيانات neo4J الخاص بك. يتبع هذا عادةً بروتوكول bolt:// (على سبيل المثال ، bolt://localhost:7687 لمثيل محلي). NEO4J_USER : اسم المستخدم المستخدم لمصادقة neo4J. NEO4J_PASSWORD : كلمة المرور المستخدمة لمصادقة neo4j. NEO4J_DATABASE : اسم قاعدة البيانات المحددة المستخدمة داخل neo4j.
استنساخ المشروع
git clone https://github.com/kaleabteweld/Agelgil-primer-healthy-recipe-hub-backendانتقل إلى دليل المشروع
cd Agelgil-primer-healthy-recipe-hub-backendتثبيت التبعيات
npm installابدأ خادم التطوير (سيتم تعيين node_env على التطوير)
npm run devلتشغيل الاختبارات ، قم بتشغيل الأمر التالي
npm run test