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
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