Clone of Stack Overflow ที่ฉันใช้งานฟังก์ชั่นเกือบทั้งหมด ความตั้งใจของฉันคือการให้ข้อมูลเชิงลึกและการสาธิตแก่นักพัฒนาเกี่ยวกับการทำงานภายในของ Stack Overflow รวมถึงวิธีการทำงาน เบื้องหลัง และวิธีการดำเนินการแบบสอบถาม
หมายเหตุ: โปรดดูบล็อกที่อธิบายสิ่งที่ฉันเรียนรู้จากโครงการนี้
นี่คือการสาธิตสดที่ใช้งานได้: การสาธิต (ลบออกจาก heroku เนื่องจากการใช้โลโก้การผลิตของ so )
หลาม 3.7.x
กรอบงานเว็บ Django 3.2.x
เรดดิส 5.x
บูตสแตรป 4
เจคิวรี่ 3
PostgreSQL 14
มีตราสัญลักษณ์มากกว่า 50 อันเพื่อมอบรางวัล
20 สิทธิพิเศษที่จะได้รับ
ติดตามป้าย
การมอบรางวัลชื่อเสียง
การแจ้งเตือนสิทธิพิเศษและกิจกรรม
ดูตัวอย่าง MarkDown ถามตอบสด
ผู้ใช้ @mentioning ในความคิดเห็น
สร้างและมอบรางวัล Bounties
Threading
เพื่อติดตามวันที่เหลือของ Bounty
การตรวจสอบงาน :
รีวิวคำถามแรก
รีวิวคำตอบแรก
รีวิวคำตอบล่าช้า
ตรวจสอบโพสต์ติดธง
ตรวจสอบความคิดเห็นเกี่ยวกับการตั้งค่าสถานะ
ตรวจสอบ ปิดการโหวต
ตรวจสอบการโหวตเปิดใหม่
ตรวจสอบโพสต์คุณภาพต่ำ
ตรวจสอบการแก้ไขที่แนะนำ
และอีกมากมาย คุณสามารถดูรายการฟังก์ชันทั้งหมดได้ที่นี่
โคลนที่เก็บนี้
โคลนโครงการนี้โดยใช้
$ git clone https://github.com/Yawan-1/StackOverFlow--Clone
สำหรับการใช้งาน Postgresql* คุณจะต้องดาวน์โหลดและติดตั้ง
ดาวน์โหลด Postgresql จากลิงค์นี้
หลังการติดตั้ง ให้สร้างฐานข้อมูลในเชลล์ postgresql โดยใช้คำสั่งเหล่านี้
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 Migrations จะดำเนินการ Data Migrations เพื่อบันทึก "Badges" ในฐานข้อมูล แล้วโยกย้ายเพื่อโหลดการทำงานของ Data Migrations ในฐานข้อมูล
$ python manage.py makemigrations $ python manage.py migrate
การดำเนินการย้ายข้อมูลจะถูกสร้างขึ้นโดยอัตโนมัติในการสร้างการย้ายข้อมูลเพื่อบันทึกแท็กและป้ายแท็ก
จากนั้นเพียงรันเซิร์ฟเวอร์โดยใช้คำสั่งนี้
$ python manage.py runserver
รายละเอียดและขั้นตอนต่อไปนี้เกี่ยวกับวิธีการปรับใช้แอปพลิเคชันนี้
ดูรายละเอียดการปรับใช้แอป django บน Heroku
หากคุณมีคำถามหรือปัญหาใดๆ อาจมีข้อบกพร่องที่ฉันอาจพลาดไป คุณสามารถสร้างคำขอดึงได้
หมายเหตุ: ส่วนหน้าและการออกแบบที่สมบูรณ์ยังอยู่ใน repo ของโปรเจ็กต์นี้ (html, css)