Node.js API Starter Kit هي قالب مشروع لبناء Node.js تطبيقات الواجهة الخلفية المحسنة للبنية التحتية بدون خادم مثل وظائف السحابة من Google ، و AWS lambda ، ووظائف Azure ، وما إلى ذلك.
local ، dev ، test ، و prodتم الحصول على هذا المشروع مع مجموعة Node.js API Starter Kit. تأكد من الانضمام إلى قناة Discord للحصول على المساعدة.
├── .build - الإخراج المترجمة والمجمعة (لكل وظيفة سحابة)
├── .vscode - إعدادات VScode بما في ذلك قصاصات التعليمات البرمجية ، الامتدادات الموصى بها وما إلى ذلك.
├── api - وظيفة السحابة لمعالجة طلبات API باستخدام GraphQL.JS
├── auth - المصادقة والوسائط الوسيطة الجلسة
├── core - وحدات التطبيق الشائعة (البريد الإلكتروني ، التسجيل ، إلخ)
├── db - عميل قاعدة البيانات لـ postgreSQL باستخدام Knex
├── emails - قوالب البريد الإلكتروني لرسائل البريد الإلكتروني للمعاملات باستخدام المقاود
├── env - متغيرات البيئة local ، dev ، test ، و prod
├── migrations - ترحيل مخطط قاعدة البيانات (Cloud SQL ، Knex)
├── scripts - البرامج النصية للنشر ، REPL SHELL ، إلخ.
├── test - اختبارات الوحدة والمعايير
├── views - قوالب HTML باستخدام المقاود
└── ... - إضافة المزيد من وظائف السحابة مثل worker ، notifications ، إلخ.
git clone -o seed https://github.com/kriasoft/node-starter-kit.git .local ، dev ، test ، و prod ( ./env ).yarn installyarn db:createyarn start ، سيصبح متاحًا على http: // localhost: 8080. استخدم متغير APP_ENV Environment لتنفيذ البرامج النصية لبيئات مختلفة ، على سبيل المثال:
$ APP_ENV=test yarn db:migrate
$ APP_ENV=test yarn start
هام : تأكد من أن VSCODE يستخدم إصدارات مساحة العمل من TypeScript و ESLINT.
yarn start - يطلق التطبيق في وضع التطوير على http://localhost:8080yarn build - يجمع وتجمع التطبيق للنشرyarn lint - التحقق من صحة الكود باستخدام ESLINTyarn tsc - التحقق من صحة الكود باستخدام برنامج التحويل البرمجي typescriptyarn test - اختبارات وحدة التشغيل مع Jest ، اختبار عظمyarn repl - اتصل بقاعدة البيانات باستخدام قذيفة Knex REPLyarn psql - اتصل بقاعدة البيانات باستخدام postgresql cliyarn db:create - إنشاء قاعدة بيانات جديدةyarn db:version - تحقق من الإصدار الحالي من قاعدة البياناتyarn db:migrate - Migrate Database Schema إلى أحدث إصدارyarn db:rollback - الترحيل الأخيرyarn db:seed قاعدة بيانات البذور مع بيانات عينة / مرجعيةyarn db:reset -إعادة تطبيق أحدث ملف ترحيل مخطط DByarn update-types قم بإنشاء نماذج بيانات مكتوبة بقوة من مخطط قاعدة البيانات اختياريًا قم بتعيين APP_ENV على local (الافتراضي) أو dev أو test أو prod قبل تشغيل هذه البرامج النصية.
لكل مزود هوية طرف ثالث يحتاج إلى تمكين تطبيقك ، ستحتاج إلى الحصول على بيانات اعتماد التطبيق ، وغالبًا ما تسمى معرف العميل/السر.
http://localhost/auth/google/return كعنوان URL رد الاتصالGOOGLE_CLIENT_ID ، GOOGLE_CLIENT_SECRET البيئة المتغيرات الموجودة في ./env/.env.* لكل بيئة تحتاجها. من هناك فصاعدًا ، فإن زيارة http://localhost:8080/auth/google (أو ، فتحه في نافذة منبثقة) سيبدأ تدفق تسجيل الدخول عبر Google.
http://localhost/auth/facebook/return باعتباره عنوان URL للاتصال لتدفق تسجيل الدخولFACEBOOK_APP_ID ، FACEBOOK_APP_SECRET المتغيرات الموجودة في ملفات env/.env.* لكل بيئة تحتاجها. من هناك فصاعدًا ، فإن زيارة http://localhost:8080/auth/facebook (أو ، فتحه في نافذة منبثقة) سيبدأ تدفق تسجيل الدخول عبر Facebook.
يعتمد البرنامج النصي للنشر ( yarn deploy ) على أداة Google Cloud CLI ( gcloud ) التي يمكنك تنزيلها من هنا. بالنسبة لسير عمل CI/CD ، قد تحتاج إلى صورة Docker مثل هذه.
gcloud auth login - تفويض أداة Google Cloud SDK (CLI) لاستخدام حساب Google الخاص بك.
قم بإنشاء مشروع GCP جديد لتطبيقك مع معرفات مثل example للإنتاج ، example-test على بيئات الاختبار / ضمان الجودة. تأكد من تمكين واجهة برمجة تطبيقات Cloud Build و Cloud Functions في إعدادات مشروع GCP هنا.
قم بإنشاء مثيل قاعدة بيانات Cloud SQL هنا في نفس المنطقة حيث يجب نشر تطبيقك. يجب أن يكون استخدام مثيل صغير من Cloud SQL مع ذاكرة وصول عشوائي 0.6 جيجابايت على ما يرام للاختبار ومواقع المرور المنخفضة.
تأكد من أن GOOGLE_CLOUD_PROJECT و GOOGLE_CLOUD_REGION و PGDATABASE و PGUSER ومتغيرات البيئة الأخرى يتم تعيينها بشكل صحيح لبيئة النشر الهدف (eg /env/.env + /env/.env.prod للإنتاج).
أخيرًا ، قم بتجميع التطبيق ونشره عن طريق التشغيل:
yarn build - يجمع التطبيق في مجلد .buildAPP_ENV=<env> yarn db:migrate - Migrates Database (Schema) إلى أحدث إصدارAPP_ENV=<env> yarn deploy - ينشر التطبيق على وظائف Google Cloud (GCF) حيث <env> هي البيئة المستهدفة ، على سبيل المثال APP_ENV=prod yarn deploy .
yarn set version latest - خيوط عثرة إلى أحدث إصدارyarn upgrade-interactive وحدات تحديث Node.js (تبعيات)yarn pnpify --sdk vscode -تحديث TypeScript و ESLINT و ALTTIER في VSCODE أي شخص وكل شخص مرحب به للمساهمة. ابدأ عن طريق التحقق من قائمة المشكلات المفتوحة التي تميزت بالمساعدة المطلوبة. ومع ذلك ، إذا قررت المشاركة ، فيرجى قضاء بعض الوقت لمراجعة الإرشادات.
حقوق الطبع والنشر © 2016- Present Kriasoft. تم ترخيص رمز المصدر هذا بموجب ترخيص معهد ماساتشوستس للتكنولوجيا الموجود في ملف الترخيص.
صنعت مع ♥ من قبل Konstantin Tarkus (koistya ، المدونة) والمساهمين.