تطبيق الأخبار السارة هو مشروع مفتوح المصدر بالكامل تم إنشاؤه بشكل استثنائي لأغراض تعليمية. يحتوي على الواجهة الخلفية (يمكنك رؤية استجابةها إذا فتحت هذا الرابط https://api.good-news.ggc.team/v1/news/ ) المكتوب في تطبيقات Golang و iOS & Android Mobile (التي سأقوم بنشرها إلى متجر التطبيقات و google play) المصنوعة من Flutter and Fronted المصنوع من Hummingbird (Flutter for Web). سيتم إضافة روابط لمستودعات تطبيقات كود من تطبيقات الأجهزة المحمولة والواجهة الأمامية لاحقًا عندما أنتهي من العمل عليها. لن يكون الكود الخاص بي مثاليًا بسبب حقيقة أنني لست محترفًا للغاية في أي من هذه الموضوعات ، لكنني سأبذل قصارى جهدي ، وأعدني ✌ أنا مؤيد لفكرة مشاركة المعرفة مع العالم لأنه من الجيد دائمًا مشاركة ما تعلمته مع أولئك الذين قد يناضلون مع نفس المشكلات التي واجهتها ، وسأتعلم شيئًا جديدًا جيدًا. استراتيجية الفوز.
أنا بصدد كتابة فصول مقسمة إلى مقالات على المتوسط. ستجد أدناه روابط لهم. سيتم تحديثها مع الانتهاء من العمل عليها.
مقالة تمهيدية - ستجد هنا جميع المعلومات التمهيدية والروابط إلى الفصول الأخرى أيضًا.
جميع فصول "كتاب":
وهنا مقالات الفصل الحالي (مستودع):
من أجل إطلاق هذا المشروع محليًا ، يجب عليك تثبيت Golang و Docker على جهازك.
إشعار: رمز في هذا المستودع ليس نسخة نهائية لما كنت أقوله في مقالاتي. على سبيل المثال ، إذا كنت ترغب في معرفة كيفية نشر هذا المشروع على قطرة المحيط الرقمية خلف وكيل Traefik العكسي مع HTTPS المتاحة في مجالك الخاص ، فستحتاج إلى متابعة جميع المقالات أعلاه.
بادئ ذي بدء ، يجب عليك cd إلى المكان الذي يشير إليه $GOPATH على جهازك ، ثم cd إلى $GOPATH/src/github.com/<your_github_or_any_username> . بعد ذلك ، ستقوم باستنساخ هذا المستودع ، cd وتشغيله باستخدام Docker Compose. من فضلك ، تأكد من إطلاق Docker بنجاح أثناء اتباع الخطوات أدناه. لذا فإن الخطوات هي:
> cd ~/go/src/github.com/kanzitelli/ - قد يكون مختلفًا عنك اعتمادًا على $GOPATH واسم المستخدم . من أجل التحقق من المكان الذي يشير إليه $GOPATH ، يرجى كتابة go env في Terminal وستجدها في بداية القائمة المطبوعة.> git clone https://github.com/kanzitelli/good-news-backend.git> cd good-news-backend/> docker-compose build && docker-compose up -dlocalhost:6969/v1/news/sources . يجب ألا ترى شيئًا ، صحيح. لأننا بحاجة إلى تكوين mongoDB كذلك؟> docker exec -it mongo mongo -u "GGCTeamBatr" -p "MySuperSecretPassword" --authenticationDatabase admin -لفتح قذيفة من Mongo DB تعمل داخل حاوية Docker الخاصة بنا> use good_news_db - لذلك نغير (إنشاء) إلى DB> db.createUser({user: 'suuuper_user', pwd: 'soop3r_U$eR_PSWD', roles:[{role:'dbOwner', db:'good_news_db'}]}) - إنشاء مستخدم فائق> db.test_collection.insert({ test: "test" }) - إدراج بيانات الاختبار لاختبار التجميع> show collections - عرض جميع مجموعات DB التي تم إنشاؤها مسبقًا للتأكد من إنشاء مجموعة الاختبار الخاصة بنا بنجاح> exit - قول وداعا لمونغو شل> docker ps - لإظهار جميع حاويات Docker قيد التشغيل. ابحث عن CONTAINER ID (العمود الأول) للحاوية المسماة api .> docker stop <api_contrainer_id> - لإيقاف حاوية API. سنعيد تشغيله في الخطوة التالية.> docker-compose build && docker-compose up -d -لإعادة بناء حاوية Docker الخاصة بنا مع إعدادات جديدة مطبقة على MongoDB..env في جذر المشروع (في حال كنت ترغب في تغييرها)localhost:6969/v1/news/sources . الآن يجب أن ترى مصادر الأخبار المليئة مسبقًا قبل إطلاق الخادم. بعد 3 دقائق ، ستتمكن من رؤية الأخبار الأولى التي تم جمعها من تحليل مواقع الأخبار عن طريق فتح localhost:6969/v1/news . لماذا 3 دقائق؟ اتبع مقالاتي على المتوسط لفهم ذلكإذا كان لديك أي تعليقات أو اقتراحات ، فلا تتردد في مراسلتي عبر البريد الإلكتروني على [email protected]؟ إذا كنت ترغب في معرفة متى أنشر مقالات جديدة ، تابعني على Twitter؟