-
Notifications
You must be signed in to change notification settings - Fork 4
/
README.md
175 lines (118 loc) · 3.92 KB
/
README.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# BinBlogger
◎◎ A comprehensive multi-user blog app
[<img src="demo_images/binblogger_home.gif">](http://binblogger.pythonanywhere.com/)
<small>Click on the thumnail to visit the demo
</small>
## Descriptions
This is a **full featured Django Blog** App that is customizable and extendable. This App contains almost every fucntionality a multi-user blog needs.
For better view of the project visit the [Demo](http://binblogger.pythonanywhere.com/) Site.
## Blog Features
- Multi User Authentication
- Post CRUD
- Comments and Reply Functionalities
- Search Fuctionalies
- Tag, Categories and top Categories(based on posts count) Functionalities.
- Profile create & Profile Update on registration
- Visual Post editor(medium-editor plugin)
- Featured Post, Popular Posts and Recent posts
- Post views count.
- Redirect alert massages.
- Preview image before upload.
- Auto image optimization on upload.
- Authors page with posts and commnets count.
- Page for posts of individual tag, category and user.
- User Authentication to view pages
- Delete post-thumbnail when post deleted
- Admin Panel &User dashboard with Jquery live search
- Newsleters & Contact Page
- Category multi-select functionalities (Jquery multiselect plugin)
- Python Code syntax highlighter on Details view(Jquery prism plugin)
> [❗] Look through the setup process before using this project so that you can avoid errors.
## Setup Process
> ❗Make sure You have python3 and pip installed on your machine.
### Step 1
1. Create a folder where you want to clone the project.
- I am creating a folder named ‘example’ in desktop
2. Now navigate to "example" via cmd or terminal
(Mac)
```bash
cd ~/desktop/example
```
(Windows)
```shell
cd C:\Users\YourDesktopName\Desktop\example
```
### Step 2
> ℹ️ *Optional but better to use a virtual environment for every project.*
If don’t have any virtual environment manager installed in your machine then install one. (I will use pipenv)
For installing pipenv run
```bash
pip install pipenv
```
1. Now clone the project and navigate to BinBlogger-master
```bash
git clone git@github.com:m-nobinur/BinBlogger.git
cd BinBlogger-master
```
2. Install all the dependencies for the project.
```bash
pipenv install -r requirements.txt
```
3. Activate the virtual environment
```bash
pipenv shell
```
### Step 3
1. Create a .env file in the project directory, open it with your favorite text editor and paste the bellow lines
```.file
SECRET_KEY=[YOUR SECRET_KEY]
DEBUG=True
MAILCHIMP_API_KEY=[YOUR MAILCHIMP_API_KEY]
MAILCHIMP_DATA_CENTER=[YOUR MAILCHIMP_DATA_CENTER]
MAILCHIMP_EMAIL_LIST_ID=[YOUR MAILCHIMP_DATA_CENTER]
```
2. Now generate a secret key for your project.
run python on your shell
```bash
python
```
``` python
>>>from django.core.management.utils import get_random_secret_key
>>>get_random_secret_key()
>>>[ YOUR SECRET KEY ]
```
3. Copy the secret key, open .env file again and assign the secret key. If you don't have mailchimp credentials then make sure your file look like this
```.file
SECRET_KEY=YOUR_SECRET_KEY
DEBUG=True
MAILCHIMP_API_KEY=''
MAILCHIMP_DATA_CENTER=''
MAILCHIMP_EMAIL_LIST_ID=''
```
> ⚠️ make sure not to use any space between the equal(=) sign or any quotations(“) for the secret key
> ℹ️
> If you want to setup Mailchimp now then go to this [section](mailchimp_setup.md)
4. Make a migrations.
```bash
python manage.py makemigrations
```
5. You are all setup, let’s migrate now.
```bash
python manage.py migrate
```
6. Create a superuser to rule the site 😎
```bash
python manage.py create superuser
```
> *follow the instructions*
6. Hahh! Long wait. Let’s visit the site now
```bash
python manage.py runserver
```
Visit [http://127.0.0.1:8000/](http://127.0.0.1:8000/) and rock 🤘
---
## Contribution and Support
Fork the project to contribute and give a star❤️
to support.
## Contact
Find me on LinkedIn [@mohammadnobinur](https://www.linkedin.com/in/mohammadnobinur/)