A Clone of StackOver Flow, I implemented almost every functionalities, I just wanted to notice and show developers how StackOver-Flow works , do tasks under the hood, how tasks and queries are executing behind the scenes.
Here is a working live demo : Demo (Removed from heroku because usage of so's production LOGO But I will be back with my own better design than them)
-
50+ Badges are implemented to award
-
20 Privileges to Earn
-
Track Badges
-
Reputation Awarding
-
Privilege and Activity Notifications
-
Live Q&A MarkDown Preview
-
User @mentioning in comments
-
Create and award Bounties
-
Threading
to keep track of the remaining days of Bounty. -
Reviewing Tasks :
- First Question Review
- First Answer Review
- Late Answer Review
- Review Flag Posts
- Review Flag Comments
- Review Close Votes
- Review ReOpen Votes
- Review Low-Quality Posts
- Review Suggested Edits
-
And much more. You can find list of all functionalities Here
Clone this repository
- Clone this project using
$ git clone https://github.com/Yawan-1/StackOverFlow--Clone
For Postgresql usage*, you will need to download and install it.
- Download Postgresql from this Link
- After installation, create Database in postgresql shell using these commands
CREATE DATABASE so_clone;
CREATE USER so_clone_user WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE so_clone TO so_clone_user;
- and fill database name , database password and user in
settings.py
like
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'so_clone',
'USER': 'so_clone_user',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '',
}
}
*Note: You can skip postgresql installation if you're setting up this project using sqlite. simply just comment the postgresql configuration and uncomment sqlite configuration
Now run make migrations
command, running make migrations command will perform Data Migrations to save the "Badges" in the database.
then migrate to load the operations of Data Migrations in database.
$ python manage.py makemigrations
$ python manage.py migrate
Then, simply run the server using this command.
$ python manage.py runserver
The following details and steps on how to deploy this application
See detailed Deploying django app on Heroku
If you have any question or issues, It may have bugs that i may have missed. You can create Pull request or you can also contact me.