Frontend.ro هي مبادرة مفتوحة المصدر والمجتمع لتدريس تنمية الواجهة. اقرأ المزيد على الموقع ويرجى مشاركة الأخبار ^^^
yarn في المجلد الجذر..env في الجذر وملء المحتوى التالي ; Environment based config
NODE_CONFIG_ENV =local-client
; Custom config dirs
NODE_CONFIG_DIR =server/config
; Used only when developing locally
NODE_ENV =developmentyarn dev:client . سيؤدي ذلك إلى تشغيل الواجهة الأمامية محليًا فقط وتوصيلك بخادم التطوير..env : ; Environment based config
NODE_CONFIG_ENV =local-both
; Custom config dirs
NODE_CONFIG_DIR =server/config
; AUTH
TOKEN_SECRET =
; DB
DB_CONNECT =
; AWS
AWS_BUCKET =
; EMAIL
EMAIL_TOKEN =
; GITHUB
GITHUB_CLIENT_ID =
GITHUB_CLIENT_SECRET =
; Used only when developing locally
NODE_ENV =development ثم توفير DB (انظر الخطوة التالية) وقم بتشغيل الخادم المحلي باستخدام yarn dev . تواصل معنا لمزيد من التفاصيل على [email protected].
إذا كنت تريد تشغيل التطبيق بالكامل على جهازك المحلي ، فسوف يتعين عليك توفير قاعدة بيانات MongoDB بنفسك.
إلقاء نظرة على المجلد server/_provisioning . لا يزال يعمل قيد التقدم ، ولكن ستجد هناك بعض البرامج النصية التي ستجعل من الأسهل إدخال البيانات بكميات كبيرة ، لبيئتك المحلية.
لتقليل التكاليف ، نقوم حاليًا بعمل مقالب يدوي والنسخ الاحتياطي لقاعدة بيانات MongoDB الخاصة بنا.
نحن نستخدم أدوات قاعدة بيانات MongoDB ، وتحديداً Mongodump و Mongorestore.
لدينا برامج نصية 2 NPM
yarn mongodump
yarn mongorestore
التي نستخدمها لتفريغ/استعادة. نحن "ربط" في نفس ملف .env للحصول على سلسلة DB_CONNECT و MONGODB_DUMP_DIR .
يفترض كلاهما أن أدوات MongoDB مثبتة بالفعل. إلقاء نظرة هنا على التعليمات اعتمادًا على نظام التشغيل الخاص بك.
بالنسبة للنسخ الاحتياطي ، نقوم بتخزين مقالب AWS S3 باستخدام AWS CLI V2.
لدينا برنامج نصي NPM يقرأ من .env ويدعو أمر CLI محدد.
yarn upload-mongodump-s3
لا يعمل هذا إلا إذا تم مصادقةك في AWS CLI مع مفتاح الوصول إلى مفتاح الوصول / Secret Dear الذي يحتوي على إذن الكتابة إلى دلو S3 الخاص بنا.
NextJS لا يتوافق مع الطريقة الافتراضية لتحميل Monaco-Editor (عبر WebPack و monaco-editor-webpack-plugin ). يفشل عندما يحاول Monaco تحميل CSS من node_modules: https://nextjs.org/docs/messages/css-npm.
تعني جميع الحلول لهذا إضافة رمز مخصص للغاية إلى تكوين WebPack الخاص بنا ، وهو ما نشعر بالقلق من أنه قد يكسر في المستقبل أو يتفاعل سلبًا مع الحزم الأخرى.
وبالتالي ، فإن الحل الذي ذهبنا إليه هو تحميل monaco-editor من CDN (CloudFront) مع علامة <script> . نشعر أن هذه الطريقة "المدرسة القديمة" أقل عرضة للخطأ من التعديلات المخصصة لتكوين WebPack. وللحصول على الحد الأدنى من العمل اليدوي ، أنشأنا إجراء monacoEditorCDN.yml github الذي سيقوم بتحميل الملفات على كل دفعة (إذا لم تكن هناك).
يحتوي هذا المشروع على تقسيم ثنائي الترخيص بين الكود المصدري لمكونات واجهة المستخدم المستخدمة ومحتوى المناهج الدراسية.
تم ترخيص رمز المصدر لمكونات واجهة المستخدم تحت معهد ماساتشوستس للتكنولوجيا.
ينتمي المنهج إلى مساهمينا وهو مرخص له بموجب الإسناد-Sharealike 4.0 International. أنت حر في استخدامه إذا كنت تقوم بتدريس هذه الموضوعات طالما أنك تقدم إسناد للكاتب/المالك.
لن يكون هذا المشروع ممكنًا بدون مساهمينا الرائعين. شكرا لك>: د <
ألكساندرو بيفوي | ديانا توما | Cătălin popușoi | ماريان موروساك |
كريستيان Gațu | سيباستيان لاتيكوليك | نيكولاي ماتي | دانييل هوانو |
سواروب كومار داس | إيرا ميلنيك | نارسيس لازار | سيرجيو زاتمارى |
إذا كنت تريد تقديم يد العون ، فتواصل معنا ودعنا نبني هذا معًا!
تويتر | فيسبوك