Bona Blog
An Open-Source Web Blogging platform built with Python and Django.
Table of contents
- General info
- Django Package or App
- Screenshots
- Features
- Technologies
- Setup
- Status
- Inspiration
- Contact
- License
- Contributing
General info
An Open-Source blogging platform like Medium and Real Python built with Python and Django. It has features of a standard blogging platform.
Django Package or App
This project has been converted into a django package. You can install it from PyPI or its GitHub Repo.
Screenshots
Authors Dashboard Page
Create Article Page
Authors Profile Details Page
Article Detail Page
Features
- Mobile App Version
- Dashboard for Authors
- WYSIWYG Editor
- Account Verification
- Author Login
- Author Password Reset
- API for Clients
- Category List
- Category Articles List
- New Category Submission
- Related Articles
- Comments
- Articles Search
- Article Social Media Share
- Article Minute Read
- Article Number of Words
- Article Number of Views
- Article Tags
- Tag Related Articles
- Markdown Support
- Responsive on all devices
- Pagination
- Clean Code
- 90% test coverage
Technologies
- Python 3
- Javascript
- Jquery
- PrismJS
- Django 3
- HTML5
- CSS3
- Bootstrap 4
- Ion Icons
- Font awesome
- CKEditor
- SQLite
- PostgreSQL
Setup
To run this app, you will need to follow these 3 steps:
1. Requirements
a Laptop
Text Editor or IDE (eg. vscode, PyCharm)
Git installed on your Laptop.
2. Install Python and Pipenv
Python3
Pipenv
3. Local Setup and Running on Windows, Linux and Mac OS
# Clone this repository into the directory of your choice
$ git clone https://github.com/Williano/Bona-Blog.git
# Move into project folder
$ cd Bona-Blog
# Install from Pipfile
$ pipenv install
# Activate the Pipenv shell
$ pipenv shell
# Create database tables
(Bona-Blog-XXXX) $ python manage.py migrate
# Create superuser account
(Bona-Blog-XXXX) $ python manage.py createsuperuser
# Start server
(Bona-Blog-XXXX) $ python manage.py runserver
# Copy the IP address provided once your server has completed building the site. (It will say something like >> Serving at 127.0.0.1....).
# Open the address in the browser
>>> http://127.0.0.1:XXXX
# Login into Dashboard and write articles
>>> http://127.0.0.1:8000/author/dashboard/home/
# Django Admin
>>> http://127.0.0.1:XXXX/admin/
# Run Tests
$ python manage.py test blog.tests
Status
Project is: in progress
Inspiration
This project is based on the goal of improving my skills as a Software Engineer and the best way to improve is by building projects. I wanted to gain a deeper understanding of Django and Object-oriented programming in Python whiles I also contribute to the open-source community at the same time. I have learnt different technologies for the project and I keep on learning new skills as I add new features to the project.
Contact
Created by Williano - feel free to contact me!
License
You can check out the full license here
This project is licensed under the terms of the MIT license.
Contributing
- Fork it (https://github.com/Williano/Bona-Blog.git)
- Create your feature branch (
git checkout -b feature/fooBar) - Commit your changes (
git commit -am 'Add some fooBar') - Push to the branch (
git push origin feature/fooBar) - Create a new Pull Request



