16

ومن أواخر مشاريعي على Node.js : مدونة شخصية تجريبية بـ-Express

  • khaled_IO

السلام عليكم.

..وبعد حوالي ثلاثة أسابيع من التطوير الكسول Lazy Development و العمل على VS Code بــ Zen Mode انتهيت بحمد الله من برمجة مدونة أعدّها من أوائل أعمالي في Node.js.

وهذا ما استخدمته :

Back End

  • Express.js

  • (Mongoose(ODM for Mongo DB

  • (Handlebars(templating Engine

  • و بعض الــ- Middlewares

Front

  • إطار عمل CSS خاص للمدونة، وليجعل المدونة متجاوبة

  • SweetAlert(مع تعديلات بسيطة)

  • صور من عدة مواقع(بترخيصات حرة)

  • أدوات المطور في كروم

  • ألوان Material des.

  • خطوط نوتو Noto من جوجل

وبعض الأشياء لا أذكرها

وللعلم المدونة تدعم الــ- MarkDown من خلال مكتبة SnarkDown(~3kb markdown parser)

لمعاينة العمل كحقيقي

(شكرا Heroku و Mlab).

و هذا هو رابط المشروع على GitHub :

أرحب بكم.

والسلام عليكم

تحديث ١

لتسجيل الدخول

الاسم : خالد نور

كلمۃ المرور: الله أكبر

  • لحذف مقال : استبدل article في شريط العنوان ب delete (بافتراض انك في صفحۃ قراءۃ المقال)

  • للتحديث استبدل update

  • للحذف استبدل delete

  • لتاليف مقال جديد /create في الROOT

كنت انوي ارفاق هذه المعلومات لكن كنت متعجلا في وقت الكتابۃ{وما انسنيه الا الشيطن ان اذكره}

جمعۃ مباااركۃ

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

اذا كنت تريد ان تستخدم المشروع

  • عمل جيد جدًا في backend

  • اما الـ frontend التصميم يحتاج الى تعديل وكذلك سهولة الأستخدام تحتاج الى تحسن

  • لماذا لم تستخدم bootstrap

اذا كنت تريد ان تجربة مهارتك

فالعمل ممتاز جدًا

مع ان معرفتي بالبوتستراب جيدة إلا اني لست مستريحا معها بعد..

متفق معك على تطوير الواجهة والنقص

شكراا

التصميم ناقص . موفق إن شاء الله في أعمالك المقبلة

خفيف سريع التحميل يحتاج إلى مزيد من التصميم فحسب

سرعة التحميل مع انه على استضافة تجريبية شيء جميل! يعود الفضل ل Node.js

التصميم...ان شاء الله

ممتاز جدا ، بل رائع . تخديم هذه التقنيات ليس بالأمر السهل .

مشكلتك الوحيدة انك لم تستطع تقديم الذوق العام . في موقعك .

وهية مشكلة اي مبرمج على مر التاريخ . وانا مثلك . لذلك يجب ان تختار مكتبة تقدم الذوق العام في التصميم

البوت ستارب احدها ولكن ليست الأفضل .. ربما تجد ثيمات رائعة مبنية على البوت ستارب . وهذا خيار ممتاز ..

ولكن انا انصح

semantic-ui.com

جربها مرة ولن تندم .

ان شاء الله في المرة القادمة. التحديث ربما على الطريق(لست متأكدا من ذلك ).

عمل جيد كـ backend اخي اتمنى لك دوام التوفيق.

ارى انك عند حدوث خطأ ما تقوم بعمل

next(new Error())

لكني لا ارى في آخر الملف الـ handler الخاص به :\، يعني لا ارى هذا الشيء

app.use(function(err, req, res, next){
   res.status(500).render('500.html')
})

انظر الملف js.404. اخر middleware. يتم استدعاءه ب

)

('(app.use(require('./404

اعني لا يملك variable خاص به

يا رجل، 404 شيء و 500 شيء آخر

الحمد لله اني نظرت الى 404.js

اعتذر عن هذه الكلمة، لكن ما هذا التخبيص اخي؟

لماذا تقوم ببناء app آخر ؟ كما انك لا تستخدمه بتاتاً ؟

وكذلك لماذا تقوم بتثبيت handlebars عليه وانت قمت بتثبيته على الـ app.js

انت فقط تحتاج الدالتين والباقي في الملف كله للمحو.

سأبعث لك Pull Request لترى ما قصدي

انتظرك شكرااا

هل يمكنك السماح لي بعمل push ؟

اضفني الى المشروع يعني هذا حسابي

لاني الان لا اقدر ان اعمل push

ااسف للتأخر.

المشكلةأني لم ادخل الى النت من تاريخ التعليق حتى اليوم الا من موبايل. ولم أسجل الدخول لGitHub لاسباب تعود للباسوورد وعندما دخلت اليوم رأيت انك للأسف حذفت ال clone.

كنت اتحاشى الرد قبل اعداد الجواب..ولكن ****

اسف

أخيراا شكرا على نواياك الطيبة

سؤال : كيف منعك Git? لم افهم هذا. ربما لانك اردت push to master. رجاء المزيد من التوضيح

*اتمنى لك يوما طيبااا جدااا

لا انا بصراحة لا اتعامل ابداً مع github والمشاركة عليه جديدة علي ( استعمل bitbukkit )، كنت قد استطعت فتح pull request لكني حذفته.

اذا كانت لغتك الانكليزية جيدة انصحك:

تقصد دورة the net ninja حول GitHub?

حول NodeJs & MongoDB & RESTful api

ما الذي يجعلها مميزة؟

هو لا يتكلم كثيراً لم اكن امل منه، كما اني استطعت اخذ الاساسيات منه بسرعة جداً وبعدها استطعت الاكمال لوحدي

لدي طلب اذا كنت متفرغ فمن فضلك ضع لنا درس او دورة تشرح لنا ذلك لاني لم اجد ولا دورة لفعل ذلك

هل دخلت في callback hell ؟ أم إستخدمت promises ؟ أم إستخدمت أخر التقنيات مثل Async / Wait ؟

Async ضمن ال dependencies. ولكن هذا لا ينفي استعمال ال callbacks لان هذا ضرورى في Node.js

لا ليس ضروري بتاتاً الآن انظر هذا المثال:

export async fuction findUserById(req, res, next) {
  const { id } = req.params
  try {
    const user = await db.findUserById(id)
    res.status(200).json(user)
  } catch (e) {
    next(e)
  }
}

Await فعليا توضع على function سوف ترجع promise عندما يحصل ال execution توضع async في حالة توقف جزئي بانتظار promise يحصل له resolve. ففعليا يمكنك ذلك.

ذكرتنى بالعصر الحجري للإنترنت أيام تطبيق Muse من آدووبى.

لماذا ولا مرة حتى الآن " رغم أنى من محبى نود " لا أجد تصميم إحترافى ولا برمجية يعتد بها .

التصميم ليس بعد...

تطبيق مووس؟؟ما هو!

ولا برمجية يعتد بها .

من فضلك المزيد من التوضيح حول البرمجيات التي تعتد بها

شكراااا

-2

هل تعتبر هذه مدونة؟ أردت الدخول فقال لي أحسن الاستعمال والسيرفير محدود.. مجانين الحسوبيون!

أضحكتني...شكرااا انتظر التحديث القادم للمقال. كنت نسيت ان ارفق بعض الأشياء لكن نسيت