Clone of Stack Overflow حيث قمت بتنفيذ جميع وظائفه تقريبًا. كنت أعتزم تقديم نظرة ثاقبة وتوضيح للمطورين حول الأعمال الداخلية لـ Stack Overflow - بما في ذلك كيفية تنفيذ المهام خلف الكواليس وكيفية تنفيذ الاستعلامات.
ملاحظة: يرجى إلقاء نظرة على المدونة التي تشرح ما تعلمته من هذا المشروع؟
فيما يلي عرض تجريبي مباشر للعمل: العرض التوضيحي (تمت إزالته من Heroku بسبب استخدام شعار الإنتاج الخاص بذلك )
بايثون 3.7.x
إطار ويب جانغو 3.2.x
ريديس 5.x
بوت ستراب 4
مسج 3
بوستجريس 14
يتم تنفيذ أكثر من 50 شارة لمنحها
20 امتيازات لكسبها
شارات المسار
منح السمعة
إشعارات الامتيازات والنشاط
معاينة MarkDown المباشرة للأسئلة والأجوبة
@ الإشارة إلى المستخدم في التعليقات
إنشاء ومنح الجوائز
Threading
لتتبع الأيام المتبقية من باونتي.
مهام المراجعة :
مراجعة السؤال الأول
مراجعة الإجابة الأولى
مراجعة الإجابة المتأخرة
مراجعة مشاركات العلم
مراجعة تعليقات العلم
مراجعة الأصوات المغلقة
مراجعة إعادة فتح الأصوات
قم بمراجعة المشاركات ذات الجودة المنخفضة
مراجعة التعديلات المقترحة
وأكثر من ذلك بكثير. يمكنك العثور على قائمة بجميع الوظائف هنا
استنساخ هذا المستودع
استنساخ هذا المشروع باستخدام
$ git clone https://github.com/Yawan-1/StackOverFlow--Clone
لاستخدام Postgresql*، ستحتاج إلى تنزيله وتثبيته.
قم بتنزيل Postgresql من هذا الرابط
بعد التثبيت، قم بإنشاء قاعدة بيانات في postgresql Shell باستخدام هذه الأوامر
CREATE DATABASE so_clone;
CREATE USER so_clone_user WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE so_clone TO so_clone_user;
واملأ اسم قاعدة البيانات وكلمة مرور قاعدة البيانات والمستخدم في settings.py
مثل
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'so_clone', 'USER': 'so_clone_user', 'PASSWORD': 'password', 'HOST': 'localhost', 'PORT': '', } }
*ملاحظة: إذا كنت تقوم بإعداد هذا المشروع باستخدام sqlite، فلديك خيار تجاوز خطوة تثبيت postgresql. للقيام بذلك، يرجى التفكير في التعليق على تكوين postgresql وإلغاء التعليق على تكوين sqlite.
الآن قم بتشغيل أمر make migrations
، سيؤدي تشغيل أمر make migrats إلى إجراء عمليات ترحيل البيانات لحفظ "الشارات" في قاعدة البيانات. ثم قم بالترحيل لتحميل عمليات ترحيل البيانات في قاعدة البيانات.
$ python manage.py makemigrations $ python manage.py migrate
سيتم إنشاء عمليات الترحيل تلقائيًا عند إنشاء الترحيل لحفظ العلامات وشارات العلامات.
ثم قم ببساطة بتشغيل الخادم باستخدام هذا الأمر.
$ python manage.py runserver
التفاصيل والخطوات التالية حول كيفية نشر هذا التطبيق
راجع النشر التفصيلي لتطبيق django على Heroku
إذا كان لديك أي سؤال أو مشاكل، فقد يكون هناك أخطاء ربما فاتني. يمكنك إنشاء طلب سحب.
ملحوظة: التصميم الكامل للواجهة الأمامية موجود أيضًا داخل مستودع هذا المشروع (html وcss).