Skip to content

Commit de50c6c

Browse files
author
Space
committed
deploy
0 parents  commit de50c6c

File tree

304 files changed

+254887
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

304 files changed

+254887
-0
lines changed

.gitignore

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
build/
12+
develop-eggs/
13+
dist/
14+
downloads/
15+
eggs/
16+
.eggs/
17+
lib/
18+
lib64/
19+
parts/
20+
sdist/
21+
var/
22+
wheels/
23+
share/python-wheels/
24+
*.egg-info/
25+
.installed.cfg
26+
*.egg
27+
MANIFEST
28+
29+
# PyInstaller
30+
# Usually these files are written by a python script from a template
31+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
32+
*.manifest
33+
*.spec
34+
35+
# Installer logs
36+
pip-log.txt
37+
pip-delete-this-directory.txt
38+
39+
# Unit test / coverage reports
40+
htmlcov/
41+
.tox/
42+
.nox/
43+
.coverage
44+
.coverage.*
45+
.cache
46+
nosetests.xml
47+
coverage.xml
48+
*.cover
49+
*.py,cover
50+
.hypothesis/
51+
.pytest_cache/
52+
cover/
53+
54+
# Translations
55+
*.mo
56+
*.pot
57+
58+
# Django stuff:
59+
*.log
60+
local_settings.py
61+
db.sqlite3
62+
db.sqlite3-journal
63+
64+
65+
66+
67+
68+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
69+
__pypackages__/
70+
71+
# Environments
72+
.env
73+
.venv
74+
env/
75+
venv/
76+
ENV/
77+
env.bak/
78+
venv.bak/
79+
cloneenv/
80+
static_cdn/
81+
82+
83+
84+
# PyCharm
85+
# JetBrains specific template is maintainted in a separate JetBrains.gitignore that can
86+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
87+
# and can be added to the global gitignore or merged into this file. For a more nuclear
88+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
89+
#.idea/

.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/workspace.xml

Lines changed: 65 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Functionalities.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
2+
### Functionalities ###
3+
Functionalities | Status
4+
------------- | -------------|
5+
Close Questions | Completed
6+
Flag Question | Completed
7+
Flag Answer | Completed
8+
Offer Bounty | Completed
9+
Question Timeline | Completed
10+
Question Edit History | Completed
11+
Answer Timeline | Completed
12+
Answer Timeline | Completed
13+
Ajax Tags Search | Completed
14+
Ajax Users Search | Completed
15+
Bronze Badges | Completed
16+
Silver Badges | Completed
17+
Graph for Reputation Representation | Completed
18+
Track Badge | Completed
19+
Track Tag | Completed
20+
Bookmark Question | Completed
21+
Reputation Track | Completed
22+
Record Every Action | Completed
23+
Live Markdown Review | Completed
24+
Review Closed Questions | Completed
25+
Review Low Quality Posts | Completed
26+
Review First Questions | Completed
27+
Review First Answers | Completed
28+
Review Re-Open Question | Completed
29+
Review Suggested Edits | Completed
30+
Review Flagged Posts | Completed
31+
Review Flagged Comments | Completed
32+
Notifications | Completed
33+
Privilege Notification | Completed
34+
Moderator Tools | Completed
35+
Privileges | Completed
36+
Search Functionality | Completed
37+
Storing Edit History | Completed
38+
39+
40+
Some functionalities are still left to implement (like Forgot Password, Reset Password, Advanced Ban User)and I will implement some of them
41+
in next commit or update

Procfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
web: gunicorn main.wsgi --log-file -

README.md

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
## StackOver Flow - Clone
2+
3+
A Clone of StackOver Flow, I implemented almost every functionalities,
4+
I just wanted to notice and show developers how StackOver-Flow works
5+
, do tasks <b style="color:lightgreen">under the hood</b>, how tasks and queries are executing behind the scenes.
6+
7+
## Images
8+
9+
<img src="/images/animation.gif">
10+
11+
## Demo
12+
13+
Here is a working live demo : <a href="">Demo</a>
14+
15+
## Technology Stack
16+
17+
* [Python 3.7.x](https://www.python.org/)
18+
* [Django Web Framework 3.2.x](https://www.djangoproject.com/)
19+
* [Redis 5.x](https://pypi.org/project/django-redis/)
20+
* [BootStrap 4](https://getbootstrap.com/)
21+
* [Jquery 3](https://api.jquery.com/)
22+
* [Postgresql 4](https://www.postgresql.org/)
23+
24+
25+
## Functionalities
26+
27+
28+
* 50+ Badges are implemented to award
29+
* 20 Privileges to Earn
30+
* Reputation Awarding
31+
* Privilege and Activity Notifications
32+
* Live Q&A MarkDown Preview
33+
* User @mentioning in comments
34+
* Create and award Bounties
35+
* <code>Threading</code> to keep track of the remaining days of Bounty.
36+
* Reviewing Tasks :
37+
* First Question Review
38+
* First Answer Review
39+
* Late Answer Review
40+
* Review Flag Posts
41+
* Review Flag Comments
42+
* Review Close Votes
43+
* Review ReOpen Votes
44+
* Review Low-Quality Posts
45+
* Review Suggested Edits
46+
47+
48+
* And much more. You can find list of all functionalities <a href="">Here</a>
49+
50+
51+
## Setup Commands
52+
53+
Clone this repository
54+
55+
1. Clone this project using
56+
````
57+
$ git clone URL
58+
````
59+
60+
For Postgresql usage*, you will need to download and install it.
61+
62+
1. Download Postgresql from [this Link](https://www.postgresql.org/download/)
63+
2. After installation, create Database in postgresql shell using these commands
64+
1. `CREATE DATABASE so_clone;`
65+
2. `CREATE USER so_clone_user WITH PASSWORD 'password';`
66+
3. `GRANT ALL PRIVILEGES ON DATABASE so_clone TO so_clone_user;`
67+
3. and fill **database name** , **database password** and **user** in `settings.py` like
68+
69+
````
70+
DATABASES = {
71+
'default': {
72+
'ENGINE': 'django.db.backends.postgresql_psycopg2',
73+
'NAME': 'so_clone',
74+
'USER': 'so_clone_user',
75+
'PASSWORD': 'password',
76+
'HOST': 'localhost',
77+
'PORT': '',
78+
}
79+
}
80+
````
81+
82+
_*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_
83+
84+
85+
86+
Now run make <code>migrations</code> command, running make migrations command will perform Data Migrations to save the "Badges" in the database.
87+
then migrate to load the operations of Data Migrations in database.
88+
````
89+
$ python manage.py makemigrations
90+
$ python manage.py migrate
91+
````
92+
93+
Then, simply run the server using this command.
94+
````
95+
$ python manage.py runserver
96+
````
97+
98+
## Deployment
99+
100+
The following details and steps on how to deploy this application
101+
102+
#### Heroku
103+
104+
See detailed [Deploying django on Heroku](https://devcenter.heroku.com/articles/django-app-configuration)
105+
106+
107+
## Contributing
108+
109+
If you have any question or issues, It may have bugs that i may have missed. You can create <a href="">Pull request</a> or you can also contact me.
110+
111+
112+
113+

help/__init__.py

Whitespace-only changes.

help/admin.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from django.contrib import admin
2+
3+
# Register your models here.

help/apps.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.apps import AppConfig
2+
3+
4+
class HelpConfig(AppConfig):
5+
default_auto_field = 'django.db.models.BigAutoField'
6+
name = 'help'

help/migrations/__init__.py

Whitespace-only changes.

help/models.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from django.db import models
2+
3+
# Create your models here.

help/urls.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from django.urls import path
2+
from django.conf import settings
3+
from django.conf.urls.static import static
4+
from . import views
5+
6+
app_name = 'help'
7+
8+
urlpatterns = [
9+
10+
path('privileges/', views.privileges, name='privileges'),
11+
12+
13+
]

0 commit comments

Comments
 (0)