stephane.bio
  • Invest
  • Build
  • Write
  • Think
Ketchup

Williano/Bona-Blog: An Open-Source Blogging Platform

URL
https://github.com/Williano/Bona-Blog

Bona Blog

An Open-Source Web Blogging platform built with Python and Django.

image
image
image
image

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

image

Create Article Page

image

Authors Profile Details Page

image

Untitled

Home Page
List of Categories Page
Files

Untitled

Category Articles List Page
Author Articles List Page
Files

Article Detail Page

image

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

    1ee646473681466d8e4a6c0c07fc0576

    a Laptop

    067deef2d78e4402bfa9d3478227f485

    Text Editor or IDE (eg. vscode, PyCharm)

    1c4d0d9272334b30a55d7c67785cb5d4

    Git installed on your Laptop.

2. Install Python and Pipenv

    25bfb8c0610a4f7f8a3b6ea7c3142ba5

    Python3

    36a57a36d42d485dbc6f004ebabb8292

    Pipenv

3. Local Setup and Running on Windows, Linux and Mac OS

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

  1. Fork it (https://github.com/Williano/Bona-Blog.git)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request
stephane.bio

Made with Notion, Published on Super - 2026 © Stephane Boghossian

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