거의 모든 기능을 구현한 Stack Overflow의 복제본입니다. 내 의도는 작업 이 백그라운드에서 수행되는 방식과 쿼리가 실행되는 방식을 포함하여 Stack Overflow의 내부 작동 방식에 대해 개발자에게 통찰력과 데모를 제공하는 것이었습니다.
참고: 이 프로젝트에서 배운 내용을 설명하는 블로그를 살펴보시기 바랍니다.
다음은 실제 라이브 데모입니다. 데모 (so의 프로덕션 로고 사용으로 인해 heroku에서 제거됨 )
파이썬 3.7.x
Django 웹 프레임워크 3.2.x
레디스 5.x
부트스트랩 4
제이쿼리 3
포스트그레SQL 14
50개 이상의 배지가 수여되도록 구현되었습니다.
20가지 특권 획득
트랙 배지
평판 수여
권한 및 활동 알림
실시간 Q&A 마크다운 미리보기
댓글에서 사용자 @멘션
현상금 생성 및 수여
Bounty의 남은 날짜를 추적하기 위한 Threading
.
작업 검토:
첫 번째 질문 검토
첫 번째 답변 검토
늦은 답변 검토
플래그 게시물 검토
플래그 설명 검토
마감 투표 검토
재개 투표 검토
품질이 낮은 게시물 검토
제안된 수정사항 검토
그리고 훨씬 더. 여기에서 모든 기능 목록을 찾을 수 있습니다.
이 저장소 복제
다음을 사용하여 이 프로젝트를 복제하세요.
$ 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 명령을 실행하여 데이터 마이그레이션을 수행하여 데이터베이스에 "배지"를 저장합니다. 그런 다음 데이터베이스에 데이터 마이그레이션 작업을 로드하기 위해 마이그레이션합니다.
$ python manage.py makemigrations $ python manage.py migrate
태그 및 태그 배지를 저장하기 위해 마이그레이션 생성 시 마이그레이션 작업이 자동으로 생성됩니다.
그런 다음 이 명령을 사용하여 서버를 실행하면 됩니다.
$ python manage.py runserver
이 애플리케이션을 배포하는 방법에 대한 다음 세부 정보 및 단계
Heroku에 django 앱 배포에 대한 자세한 내용을 참조하세요.
질문이나 문제가 있는 경우 제가 놓친 버그가 있을 수 있습니다. Pull 요청을 생성할 수 있습니다.
참고: 프런트엔드 및 전체 디자인은 이 프로젝트의 저장소(html, css)에도 있습니다.